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,413 @@
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 Run(google.protobuf.message.Message):
19
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
20
+
21
+ RUN_ID_FIELD_NUMBER: builtins.int
22
+ CREATED_DATE_FIELD_NUMBER: builtins.int
23
+ MODIFIED_DATE_FIELD_NUMBER: builtins.int
24
+ CREATED_BY_USER_ID_FIELD_NUMBER: builtins.int
25
+ MODIFIED_BY_USER_ID_FIELD_NUMBER: builtins.int
26
+ ORGANIZATION_ID_FIELD_NUMBER: builtins.int
27
+ START_TIME_FIELD_NUMBER: builtins.int
28
+ STOP_TIME_FIELD_NUMBER: builtins.int
29
+ IS_PINNED_FIELD_NUMBER: builtins.int
30
+ NAME_FIELD_NUMBER: builtins.int
31
+ DESCRIPTION_FIELD_NUMBER: builtins.int
32
+ TAGS_FIELD_NUMBER: builtins.int
33
+ DEFAULT_REPORT_ID_FIELD_NUMBER: builtins.int
34
+ CLIENT_KEY_FIELD_NUMBER: builtins.int
35
+ run_id: builtins.str
36
+ created_by_user_id: builtins.str
37
+ modified_by_user_id: builtins.str
38
+ organization_id: builtins.str
39
+ is_pinned: builtins.bool
40
+ name: builtins.str
41
+ description: builtins.str
42
+ default_report_id: builtins.str
43
+ client_key: builtins.str
44
+ @property
45
+ def created_date(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
46
+ @property
47
+ def modified_date(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
48
+ @property
49
+ def start_time(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
50
+ @property
51
+ def stop_time(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
52
+ @property
53
+ def tags(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
54
+ def __init__(
55
+ self,
56
+ *,
57
+ run_id: builtins.str = ...,
58
+ created_date: google.protobuf.timestamp_pb2.Timestamp | None = ...,
59
+ modified_date: google.protobuf.timestamp_pb2.Timestamp | None = ...,
60
+ created_by_user_id: builtins.str = ...,
61
+ modified_by_user_id: builtins.str = ...,
62
+ organization_id: builtins.str = ...,
63
+ start_time: google.protobuf.timestamp_pb2.Timestamp | None = ...,
64
+ stop_time: google.protobuf.timestamp_pb2.Timestamp | None = ...,
65
+ is_pinned: builtins.bool = ...,
66
+ name: builtins.str = ...,
67
+ description: builtins.str = ...,
68
+ tags: collections.abc.Iterable[builtins.str] | None = ...,
69
+ default_report_id: builtins.str = ...,
70
+ client_key: builtins.str | None = ...,
71
+ ) -> None: ...
72
+ def HasField(self, field_name: typing.Literal["_client_key", b"_client_key", "_start_time", b"_start_time", "_stop_time", b"_stop_time", "client_key", b"client_key", "created_date", b"created_date", "modified_date", b"modified_date", "start_time", b"start_time", "stop_time", b"stop_time"]) -> builtins.bool: ...
73
+ def ClearField(self, field_name: typing.Literal["_client_key", b"_client_key", "_start_time", b"_start_time", "_stop_time", b"_stop_time", "client_key", b"client_key", "created_by_user_id", b"created_by_user_id", "created_date", b"created_date", "default_report_id", b"default_report_id", "description", b"description", "is_pinned", b"is_pinned", "modified_by_user_id", b"modified_by_user_id", "modified_date", b"modified_date", "name", b"name", "organization_id", b"organization_id", "run_id", b"run_id", "start_time", b"start_time", "stop_time", b"stop_time", "tags", b"tags"]) -> None: ...
74
+ @typing.overload
75
+ def WhichOneof(self, oneof_group: typing.Literal["_client_key", b"_client_key"]) -> typing.Literal["client_key"] | None: ...
76
+ @typing.overload
77
+ def WhichOneof(self, oneof_group: typing.Literal["_start_time", b"_start_time"]) -> typing.Literal["start_time"] | None: ...
78
+ @typing.overload
79
+ def WhichOneof(self, oneof_group: typing.Literal["_stop_time", b"_stop_time"]) -> typing.Literal["stop_time"] | None: ...
80
+
81
+ global___Run = Run
82
+
83
+ @typing.final
84
+ class GetRunRequest(google.protobuf.message.Message):
85
+ """The request for a call to `RunService_GetRun` to retrieve run."""
86
+
87
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
88
+
89
+ RUN_ID_FIELD_NUMBER: builtins.int
90
+ run_id: builtins.str
91
+ """The ID of the run to retrieve."""
92
+ def __init__(
93
+ self,
94
+ *,
95
+ run_id: builtins.str = ...,
96
+ ) -> None: ...
97
+ def ClearField(self, field_name: typing.Literal["run_id", b"run_id"]) -> None: ...
98
+
99
+ global___GetRunRequest = GetRunRequest
100
+
101
+ @typing.final
102
+ class GetRunResponse(google.protobuf.message.Message):
103
+ """The response of a call to `RunService_GetRun` containing the requested run."""
104
+
105
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
106
+
107
+ RUN_FIELD_NUMBER: builtins.int
108
+ @property
109
+ def run(self) -> global___Run: ...
110
+ def __init__(
111
+ self,
112
+ *,
113
+ run: global___Run | None = ...,
114
+ ) -> None: ...
115
+ def HasField(self, field_name: typing.Literal["run", b"run"]) -> builtins.bool: ...
116
+ def ClearField(self, field_name: typing.Literal["run", b"run"]) -> None: ...
117
+
118
+ global___GetRunResponse = GetRunResponse
119
+
120
+ @typing.final
121
+ class ListRunsRequest(google.protobuf.message.Message):
122
+ """The request for a call to `RunService_ListRuns` to retrieve runs."""
123
+
124
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
125
+
126
+ PAGE_SIZE_FIELD_NUMBER: builtins.int
127
+ PAGE_TOKEN_FIELD_NUMBER: builtins.int
128
+ FILTER_FIELD_NUMBER: builtins.int
129
+ ORDER_BY_FIELD_NUMBER: builtins.int
130
+ page_size: builtins.int
131
+ """The maximum number of runs to return.
132
+ The service may return fewer than this value.
133
+ If unspecified, at most 50 runs will be returned.
134
+ The maximum value is 1000; values above 1000 will be coerced to 1000.
135
+ """
136
+ page_token: builtins.str
137
+ """A page token, received from a previous `ListRuns` call.
138
+ Provide this to retrieve the subsequent page.
139
+ When paginating, all other parameters provided to `ListRuns` must match
140
+ the call that provided the page token.
141
+ """
142
+ filter: builtins.str
143
+ """A [Common Expression Language (CEL)](https://github.com/google/cel-spec) filter string.
144
+ Available fields to filter by are `run_id`, `organization_id`, `name`, `description`, `created_by_user_id`, `modified_by_user_id`,
145
+ `created_date`, `modified_date`, `start_time`, `stop_time`, `client_key`, `is_pinned`, `asset_id`, `client_key`, and `asset_name`.
146
+ 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).
147
+ For more information about the fields used for filtering, please refer to [this definition](/api/grpc/protocol_buffers/runs#run). Optional.
148
+ """
149
+ order_by: builtins.str
150
+ """How to order the retrieved runs. Formatted as a comma-separated string i.e. "<field_name>[ desc],...".
151
+ Available fields to order_by are `created_date`, `modified_date`, `start_time`, and `stop_time`.
152
+ If left empty, items are ordered by `created_date` in ascending order (oldest-first).
153
+ For more information about the format of this field, read [this](https://google.aip.dev/132#ordering)
154
+ Example: "created_date desc,modified_date"
155
+ """
156
+ def __init__(
157
+ self,
158
+ *,
159
+ page_size: builtins.int = ...,
160
+ page_token: builtins.str = ...,
161
+ filter: builtins.str = ...,
162
+ order_by: builtins.str = ...,
163
+ ) -> None: ...
164
+ def ClearField(self, field_name: typing.Literal["filter", b"filter", "order_by", b"order_by", "page_size", b"page_size", "page_token", b"page_token"]) -> None: ...
165
+
166
+ global___ListRunsRequest = ListRunsRequest
167
+
168
+ @typing.final
169
+ class ListRunsResponse(google.protobuf.message.Message):
170
+ """The response of a call to `RunService_ListRuns` containing requested runs."""
171
+
172
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
173
+
174
+ RUNS_FIELD_NUMBER: builtins.int
175
+ NEXT_PAGE_TOKEN_FIELD_NUMBER: builtins.int
176
+ next_page_token: builtins.str
177
+ @property
178
+ def runs(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Run]: ...
179
+ def __init__(
180
+ self,
181
+ *,
182
+ runs: collections.abc.Iterable[global___Run] | None = ...,
183
+ next_page_token: builtins.str = ...,
184
+ ) -> None: ...
185
+ def ClearField(self, field_name: typing.Literal["next_page_token", b"next_page_token", "runs", b"runs"]) -> None: ...
186
+
187
+ global___ListRunsResponse = ListRunsResponse
188
+
189
+ @typing.final
190
+ class CreateRunRequest(google.protobuf.message.Message):
191
+ """The request of a call to `RunService_CreateRuns` to create a new run."""
192
+
193
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
194
+
195
+ NAME_FIELD_NUMBER: builtins.int
196
+ DESCRIPTION_FIELD_NUMBER: builtins.int
197
+ TAGS_FIELD_NUMBER: builtins.int
198
+ START_TIME_FIELD_NUMBER: builtins.int
199
+ STOP_TIME_FIELD_NUMBER: builtins.int
200
+ ORGANIZATION_ID_FIELD_NUMBER: builtins.int
201
+ CLIENT_KEY_FIELD_NUMBER: builtins.int
202
+ name: builtins.str
203
+ """The name that will be assigned to the new run."""
204
+ description: builtins.str
205
+ """A description about the new run."""
206
+ organization_id: builtins.str
207
+ """An organization ID is only required if the user belongs to multiple organizations."""
208
+ client_key: builtins.str
209
+ """An arbitrary user-chosen key that uniquely identifies this run. Optional, though it is recommended to provide."""
210
+ @property
211
+ def tags(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
212
+ """Tags to associate with the new run."""
213
+
214
+ @property
215
+ def start_time(self) -> google.protobuf.timestamp_pb2.Timestamp:
216
+ """The time at which data ingestion begins for this new run. It must be before the `stop_time`, and it must
217
+ be provided if a `stop_time` is provided.
218
+ Important note: `start_time` will be automatically computed during data ingestion and will be set
219
+ based on the timestamp of the data for this run.
220
+ """
221
+
222
+ @property
223
+ def stop_time(self) -> google.protobuf.timestamp_pb2.Timestamp:
224
+ """The time at which data ingestion for this new run concludes.
225
+ Important note: `stop_time` will be automatically computed during data ingestion and will be
226
+ set based on the timestamp of the data for this run.
227
+ """
228
+
229
+ def __init__(
230
+ self,
231
+ *,
232
+ name: builtins.str = ...,
233
+ description: builtins.str = ...,
234
+ tags: collections.abc.Iterable[builtins.str] | None = ...,
235
+ start_time: google.protobuf.timestamp_pb2.Timestamp | None = ...,
236
+ stop_time: google.protobuf.timestamp_pb2.Timestamp | None = ...,
237
+ organization_id: builtins.str = ...,
238
+ client_key: builtins.str | None = ...,
239
+ ) -> None: ...
240
+ def HasField(self, field_name: typing.Literal["_client_key", b"_client_key", "client_key", b"client_key", "start_time", b"start_time", "stop_time", b"stop_time"]) -> builtins.bool: ...
241
+ def ClearField(self, field_name: typing.Literal["_client_key", b"_client_key", "client_key", b"client_key", "description", b"description", "name", b"name", "organization_id", b"organization_id", "start_time", b"start_time", "stop_time", b"stop_time", "tags", b"tags"]) -> None: ...
242
+ def WhichOneof(self, oneof_group: typing.Literal["_client_key", b"_client_key"]) -> typing.Literal["client_key"] | None: ...
243
+
244
+ global___CreateRunRequest = CreateRunRequest
245
+
246
+ @typing.final
247
+ class CreateRunResponse(google.protobuf.message.Message):
248
+ """The response of a call to `RunService_CreateRuns` containing the newly created run."""
249
+
250
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
251
+
252
+ RUN_FIELD_NUMBER: builtins.int
253
+ @property
254
+ def run(self) -> global___Run: ...
255
+ def __init__(
256
+ self,
257
+ *,
258
+ run: global___Run | None = ...,
259
+ ) -> None: ...
260
+ def HasField(self, field_name: typing.Literal["run", b"run"]) -> builtins.bool: ...
261
+ def ClearField(self, field_name: typing.Literal["run", b"run"]) -> None: ...
262
+
263
+ global___CreateRunResponse = CreateRunResponse
264
+
265
+ @typing.final
266
+ class UpdateRunRequest(google.protobuf.message.Message):
267
+ """The request for a call to `RunService_UpdateRun` to update an existing run."""
268
+
269
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
270
+
271
+ RUN_FIELD_NUMBER: builtins.int
272
+ UPDATE_MASK_FIELD_NUMBER: builtins.int
273
+ @property
274
+ def run(self) -> global___Run:
275
+ """The run to update. The run's `run_id` field is used to identify the run to update
276
+ and is required.
277
+ """
278
+
279
+ @property
280
+ def update_mask(self) -> google.protobuf.field_mask_pb2.FieldMask:
281
+ """The list of fields to be updated. The fields available to be updated are `name`, `description`,
282
+ `start_time`, `stop_time`, `is_pinned`, and `tags`.
283
+ Important Note: When updating the `start_time`, please be aware that if a subsequent data ingestion
284
+ commences for this run, the `start_time` will be automatically overwritten and set to the timestamp
285
+ corresponding to the beginning of the latest run.
286
+ """
287
+
288
+ def __init__(
289
+ self,
290
+ *,
291
+ run: global___Run | None = ...,
292
+ update_mask: google.protobuf.field_mask_pb2.FieldMask | None = ...,
293
+ ) -> None: ...
294
+ def HasField(self, field_name: typing.Literal["run", b"run", "update_mask", b"update_mask"]) -> builtins.bool: ...
295
+ def ClearField(self, field_name: typing.Literal["run", b"run", "update_mask", b"update_mask"]) -> None: ...
296
+
297
+ global___UpdateRunRequest = UpdateRunRequest
298
+
299
+ @typing.final
300
+ class UpdateRunResponse(google.protobuf.message.Message):
301
+ """The response of a call to `RunService_UpdateRun` containing the updated run."""
302
+
303
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
304
+
305
+ RUN_FIELD_NUMBER: builtins.int
306
+ @property
307
+ def run(self) -> global___Run: ...
308
+ def __init__(
309
+ self,
310
+ *,
311
+ run: global___Run | None = ...,
312
+ ) -> None: ...
313
+ def HasField(self, field_name: typing.Literal["run", b"run"]) -> builtins.bool: ...
314
+ def ClearField(self, field_name: typing.Literal["run", b"run"]) -> None: ...
315
+
316
+ global___UpdateRunResponse = UpdateRunResponse
317
+
318
+ @typing.final
319
+ class CreateAutomaticRunAssociationForAssetsRequest(google.protobuf.message.Message):
320
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
321
+
322
+ RUN_ID_FIELD_NUMBER: builtins.int
323
+ ASSET_NAMES_FIELD_NUMBER: builtins.int
324
+ run_id: builtins.str
325
+ """The ID of the run to associate the asset with."""
326
+ @property
327
+ def asset_names(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
328
+ """A list of asset names to automatically associate with the run.
329
+ Any data that is received for these assets will automatically added to the run.
330
+ This applies even if the run has concluded, so long as the new data contains
331
+ timestamps that are between the `start_time` and `stop_time`.
332
+ If any of the assets are already associated with a different run whose run
333
+ period (the period between `start_time` and `end_time`) overlaps with the
334
+ requested run period, an error will be returned.
335
+ """
336
+
337
+ def __init__(
338
+ self,
339
+ *,
340
+ run_id: builtins.str = ...,
341
+ asset_names: collections.abc.Iterable[builtins.str] | None = ...,
342
+ ) -> None: ...
343
+ def ClearField(self, field_name: typing.Literal["asset_names", b"asset_names", "run_id", b"run_id"]) -> None: ...
344
+
345
+ global___CreateAutomaticRunAssociationForAssetsRequest = CreateAutomaticRunAssociationForAssetsRequest
346
+
347
+ @typing.final
348
+ class CreateAutomaticRunAssociationForAssetsResponse(google.protobuf.message.Message):
349
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
350
+
351
+ def __init__(
352
+ self,
353
+ ) -> None: ...
354
+
355
+ global___CreateAutomaticRunAssociationForAssetsResponse = CreateAutomaticRunAssociationForAssetsResponse
356
+
357
+ @typing.final
358
+ class DeleteRunRequest(google.protobuf.message.Message):
359
+ """The request for a call to `RunService_DeleteRun`."""
360
+
361
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
362
+
363
+ RUN_ID_FIELD_NUMBER: builtins.int
364
+ run_id: builtins.str
365
+ def __init__(
366
+ self,
367
+ *,
368
+ run_id: builtins.str = ...,
369
+ ) -> None: ...
370
+ def ClearField(self, field_name: typing.Literal["run_id", b"run_id"]) -> None: ...
371
+
372
+ global___DeleteRunRequest = DeleteRunRequest
373
+
374
+ @typing.final
375
+ class DeleteRunResponse(google.protobuf.message.Message):
376
+ """The response of a call to `RunService_DeleteRun`."""
377
+
378
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
379
+
380
+ def __init__(
381
+ self,
382
+ ) -> None: ...
383
+
384
+ global___DeleteRunResponse = DeleteRunResponse
385
+
386
+ @typing.final
387
+ class StopRunRequest(google.protobuf.message.Message):
388
+ """The request for a call to `RunService_StopRun` to stop a run."""
389
+
390
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
391
+
392
+ RUN_ID_FIELD_NUMBER: builtins.int
393
+ run_id: builtins.str
394
+ def __init__(
395
+ self,
396
+ *,
397
+ run_id: builtins.str = ...,
398
+ ) -> None: ...
399
+ def ClearField(self, field_name: typing.Literal["run_id", b"run_id"]) -> None: ...
400
+
401
+ global___StopRunRequest = StopRunRequest
402
+
403
+ @typing.final
404
+ class StopRunResponse(google.protobuf.message.Message):
405
+ """The response of a call to `RunService_StopRun` to stop a run."""
406
+
407
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
408
+
409
+ def __init__(
410
+ self,
411
+ ) -> None: ...
412
+
413
+ global___StopRunResponse = StopRunResponse
@@ -0,0 +1,271 @@
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.runs.v2 import runs_pb2 as sift_dot_runs_dot_v2_dot_runs__pb2
6
+
7
+
8
+ class RunServiceStub(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.GetRun = channel.unary_unary(
18
+ '/sift.runs.v2.RunService/GetRun',
19
+ request_serializer=sift_dot_runs_dot_v2_dot_runs__pb2.GetRunRequest.SerializeToString,
20
+ response_deserializer=sift_dot_runs_dot_v2_dot_runs__pb2.GetRunResponse.FromString,
21
+ )
22
+ self.ListRuns = channel.unary_unary(
23
+ '/sift.runs.v2.RunService/ListRuns',
24
+ request_serializer=sift_dot_runs_dot_v2_dot_runs__pb2.ListRunsRequest.SerializeToString,
25
+ response_deserializer=sift_dot_runs_dot_v2_dot_runs__pb2.ListRunsResponse.FromString,
26
+ )
27
+ self.CreateRun = channel.unary_unary(
28
+ '/sift.runs.v2.RunService/CreateRun',
29
+ request_serializer=sift_dot_runs_dot_v2_dot_runs__pb2.CreateRunRequest.SerializeToString,
30
+ response_deserializer=sift_dot_runs_dot_v2_dot_runs__pb2.CreateRunResponse.FromString,
31
+ )
32
+ self.UpdateRun = channel.unary_unary(
33
+ '/sift.runs.v2.RunService/UpdateRun',
34
+ request_serializer=sift_dot_runs_dot_v2_dot_runs__pb2.UpdateRunRequest.SerializeToString,
35
+ response_deserializer=sift_dot_runs_dot_v2_dot_runs__pb2.UpdateRunResponse.FromString,
36
+ )
37
+ self.DeleteRun = channel.unary_unary(
38
+ '/sift.runs.v2.RunService/DeleteRun',
39
+ request_serializer=sift_dot_runs_dot_v2_dot_runs__pb2.DeleteRunRequest.SerializeToString,
40
+ response_deserializer=sift_dot_runs_dot_v2_dot_runs__pb2.DeleteRunResponse.FromString,
41
+ )
42
+ self.StopRun = channel.unary_unary(
43
+ '/sift.runs.v2.RunService/StopRun',
44
+ request_serializer=sift_dot_runs_dot_v2_dot_runs__pb2.StopRunRequest.SerializeToString,
45
+ response_deserializer=sift_dot_runs_dot_v2_dot_runs__pb2.StopRunResponse.FromString,
46
+ )
47
+ self.CreateAutomaticRunAssociationForAssets = channel.unary_unary(
48
+ '/sift.runs.v2.RunService/CreateAutomaticRunAssociationForAssets',
49
+ request_serializer=sift_dot_runs_dot_v2_dot_runs__pb2.CreateAutomaticRunAssociationForAssetsRequest.SerializeToString,
50
+ response_deserializer=sift_dot_runs_dot_v2_dot_runs__pb2.CreateAutomaticRunAssociationForAssetsResponse.FromString,
51
+ )
52
+
53
+
54
+ class RunServiceServicer(object):
55
+ """Missing associated documentation comment in .proto file."""
56
+
57
+ def GetRun(self, request, context):
58
+ """Retrieve a run.
59
+ """
60
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
61
+ context.set_details('Method not implemented!')
62
+ raise NotImplementedError('Method not implemented!')
63
+
64
+ def ListRuns(self, request, context):
65
+ """Retrieve runs using an optional filter.
66
+ """
67
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
68
+ context.set_details('Method not implemented!')
69
+ raise NotImplementedError('Method not implemented!')
70
+
71
+ def CreateRun(self, request, context):
72
+ """Create a run.
73
+ """
74
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
75
+ context.set_details('Method not implemented!')
76
+ raise NotImplementedError('Method not implemented!')
77
+
78
+ def UpdateRun(self, request, context):
79
+ """Updates an existing run using using the list of fields specified in `update_mask`.
80
+ """
81
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
82
+ context.set_details('Method not implemented!')
83
+ raise NotImplementedError('Method not implemented!')
84
+
85
+ def DeleteRun(self, request, context):
86
+ """Permanently delete a given run. In order for a run to be deleted it must have a set `stop_time`.
87
+ """
88
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
89
+ context.set_details('Method not implemented!')
90
+ raise NotImplementedError('Method not implemented!')
91
+
92
+ def StopRun(self, request, context):
93
+ """Set the stop time of a run to the current time. To set the stop time of a run to an arbitrary time see `UpdateRun`.
94
+ """
95
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
96
+ context.set_details('Method not implemented!')
97
+ raise NotImplementedError('Method not implemented!')
98
+
99
+ def CreateAutomaticRunAssociationForAssets(self, request, context):
100
+ """Associates a list of assets with a given run.
101
+ """
102
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
103
+ context.set_details('Method not implemented!')
104
+ raise NotImplementedError('Method not implemented!')
105
+
106
+
107
+ def add_RunServiceServicer_to_server(servicer, server):
108
+ rpc_method_handlers = {
109
+ 'GetRun': grpc.unary_unary_rpc_method_handler(
110
+ servicer.GetRun,
111
+ request_deserializer=sift_dot_runs_dot_v2_dot_runs__pb2.GetRunRequest.FromString,
112
+ response_serializer=sift_dot_runs_dot_v2_dot_runs__pb2.GetRunResponse.SerializeToString,
113
+ ),
114
+ 'ListRuns': grpc.unary_unary_rpc_method_handler(
115
+ servicer.ListRuns,
116
+ request_deserializer=sift_dot_runs_dot_v2_dot_runs__pb2.ListRunsRequest.FromString,
117
+ response_serializer=sift_dot_runs_dot_v2_dot_runs__pb2.ListRunsResponse.SerializeToString,
118
+ ),
119
+ 'CreateRun': grpc.unary_unary_rpc_method_handler(
120
+ servicer.CreateRun,
121
+ request_deserializer=sift_dot_runs_dot_v2_dot_runs__pb2.CreateRunRequest.FromString,
122
+ response_serializer=sift_dot_runs_dot_v2_dot_runs__pb2.CreateRunResponse.SerializeToString,
123
+ ),
124
+ 'UpdateRun': grpc.unary_unary_rpc_method_handler(
125
+ servicer.UpdateRun,
126
+ request_deserializer=sift_dot_runs_dot_v2_dot_runs__pb2.UpdateRunRequest.FromString,
127
+ response_serializer=sift_dot_runs_dot_v2_dot_runs__pb2.UpdateRunResponse.SerializeToString,
128
+ ),
129
+ 'DeleteRun': grpc.unary_unary_rpc_method_handler(
130
+ servicer.DeleteRun,
131
+ request_deserializer=sift_dot_runs_dot_v2_dot_runs__pb2.DeleteRunRequest.FromString,
132
+ response_serializer=sift_dot_runs_dot_v2_dot_runs__pb2.DeleteRunResponse.SerializeToString,
133
+ ),
134
+ 'StopRun': grpc.unary_unary_rpc_method_handler(
135
+ servicer.StopRun,
136
+ request_deserializer=sift_dot_runs_dot_v2_dot_runs__pb2.StopRunRequest.FromString,
137
+ response_serializer=sift_dot_runs_dot_v2_dot_runs__pb2.StopRunResponse.SerializeToString,
138
+ ),
139
+ 'CreateAutomaticRunAssociationForAssets': grpc.unary_unary_rpc_method_handler(
140
+ servicer.CreateAutomaticRunAssociationForAssets,
141
+ request_deserializer=sift_dot_runs_dot_v2_dot_runs__pb2.CreateAutomaticRunAssociationForAssetsRequest.FromString,
142
+ response_serializer=sift_dot_runs_dot_v2_dot_runs__pb2.CreateAutomaticRunAssociationForAssetsResponse.SerializeToString,
143
+ ),
144
+ }
145
+ generic_handler = grpc.method_handlers_generic_handler(
146
+ 'sift.runs.v2.RunService', rpc_method_handlers)
147
+ server.add_generic_rpc_handlers((generic_handler,))
148
+
149
+
150
+ # This class is part of an EXPERIMENTAL API.
151
+ class RunService(object):
152
+ """Missing associated documentation comment in .proto file."""
153
+
154
+ @staticmethod
155
+ def GetRun(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.runs.v2.RunService/GetRun',
166
+ sift_dot_runs_dot_v2_dot_runs__pb2.GetRunRequest.SerializeToString,
167
+ sift_dot_runs_dot_v2_dot_runs__pb2.GetRunResponse.FromString,
168
+ options, channel_credentials,
169
+ insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
170
+
171
+ @staticmethod
172
+ def ListRuns(request,
173
+ target,
174
+ options=(),
175
+ channel_credentials=None,
176
+ call_credentials=None,
177
+ insecure=False,
178
+ compression=None,
179
+ wait_for_ready=None,
180
+ timeout=None,
181
+ metadata=None):
182
+ return grpc.experimental.unary_unary(request, target, '/sift.runs.v2.RunService/ListRuns',
183
+ sift_dot_runs_dot_v2_dot_runs__pb2.ListRunsRequest.SerializeToString,
184
+ sift_dot_runs_dot_v2_dot_runs__pb2.ListRunsResponse.FromString,
185
+ options, channel_credentials,
186
+ insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
187
+
188
+ @staticmethod
189
+ def CreateRun(request,
190
+ target,
191
+ options=(),
192
+ channel_credentials=None,
193
+ call_credentials=None,
194
+ insecure=False,
195
+ compression=None,
196
+ wait_for_ready=None,
197
+ timeout=None,
198
+ metadata=None):
199
+ return grpc.experimental.unary_unary(request, target, '/sift.runs.v2.RunService/CreateRun',
200
+ sift_dot_runs_dot_v2_dot_runs__pb2.CreateRunRequest.SerializeToString,
201
+ sift_dot_runs_dot_v2_dot_runs__pb2.CreateRunResponse.FromString,
202
+ options, channel_credentials,
203
+ insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
204
+
205
+ @staticmethod
206
+ def UpdateRun(request,
207
+ target,
208
+ options=(),
209
+ channel_credentials=None,
210
+ call_credentials=None,
211
+ insecure=False,
212
+ compression=None,
213
+ wait_for_ready=None,
214
+ timeout=None,
215
+ metadata=None):
216
+ return grpc.experimental.unary_unary(request, target, '/sift.runs.v2.RunService/UpdateRun',
217
+ sift_dot_runs_dot_v2_dot_runs__pb2.UpdateRunRequest.SerializeToString,
218
+ sift_dot_runs_dot_v2_dot_runs__pb2.UpdateRunResponse.FromString,
219
+ options, channel_credentials,
220
+ insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
221
+
222
+ @staticmethod
223
+ def DeleteRun(request,
224
+ target,
225
+ options=(),
226
+ channel_credentials=None,
227
+ call_credentials=None,
228
+ insecure=False,
229
+ compression=None,
230
+ wait_for_ready=None,
231
+ timeout=None,
232
+ metadata=None):
233
+ return grpc.experimental.unary_unary(request, target, '/sift.runs.v2.RunService/DeleteRun',
234
+ sift_dot_runs_dot_v2_dot_runs__pb2.DeleteRunRequest.SerializeToString,
235
+ sift_dot_runs_dot_v2_dot_runs__pb2.DeleteRunResponse.FromString,
236
+ options, channel_credentials,
237
+ insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
238
+
239
+ @staticmethod
240
+ def StopRun(request,
241
+ target,
242
+ options=(),
243
+ channel_credentials=None,
244
+ call_credentials=None,
245
+ insecure=False,
246
+ compression=None,
247
+ wait_for_ready=None,
248
+ timeout=None,
249
+ metadata=None):
250
+ return grpc.experimental.unary_unary(request, target, '/sift.runs.v2.RunService/StopRun',
251
+ sift_dot_runs_dot_v2_dot_runs__pb2.StopRunRequest.SerializeToString,
252
+ sift_dot_runs_dot_v2_dot_runs__pb2.StopRunResponse.FromString,
253
+ options, channel_credentials,
254
+ insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
255
+
256
+ @staticmethod
257
+ def CreateAutomaticRunAssociationForAssets(request,
258
+ target,
259
+ options=(),
260
+ channel_credentials=None,
261
+ call_credentials=None,
262
+ insecure=False,
263
+ compression=None,
264
+ wait_for_ready=None,
265
+ timeout=None,
266
+ metadata=None):
267
+ return grpc.experimental.unary_unary(request, target, '/sift.runs.v2.RunService/CreateAutomaticRunAssociationForAssets',
268
+ sift_dot_runs_dot_v2_dot_runs__pb2.CreateAutomaticRunAssociationForAssetsRequest.SerializeToString,
269
+ sift_dot_runs_dot_v2_dot_runs__pb2.CreateAutomaticRunAssociationForAssetsResponse.FromString,
270
+ options, channel_credentials,
271
+ insecure, call_credentials, compression, wait_for_ready, timeout, metadata)