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,472 @@
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.internal.enum_type_wrapper
12
+ import google.protobuf.message
13
+ import google.protobuf.timestamp_pb2
14
+ import sys
15
+ import typing
16
+
17
+ if sys.version_info >= (3, 10):
18
+ import typing as typing_extensions
19
+ else:
20
+ import typing_extensions
21
+
22
+ DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
23
+
24
+ class _EntityType:
25
+ ValueType = typing.NewType("ValueType", builtins.int)
26
+ V: typing_extensions.TypeAlias = ValueType
27
+
28
+ class _EntityTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_EntityType.ValueType], builtins.type):
29
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
30
+ ENTITY_TYPE_UNSPECIFIED: _EntityType.ValueType # 0
31
+ ENTITY_TYPE_RUN: _EntityType.ValueType # 1
32
+ ENTITY_TYPE_ANNOTATION: _EntityType.ValueType # 2
33
+ ENTITY_TYPE_ASSET: _EntityType.ValueType # 3
34
+ ENTITY_TYPE_ANNOTATION_LOG: _EntityType.ValueType # 4
35
+
36
+ class EntityType(_EntityType, metaclass=_EntityTypeEnumTypeWrapper): ...
37
+
38
+ ENTITY_TYPE_UNSPECIFIED: EntityType.ValueType # 0
39
+ ENTITY_TYPE_RUN: EntityType.ValueType # 1
40
+ ENTITY_TYPE_ANNOTATION: EntityType.ValueType # 2
41
+ ENTITY_TYPE_ASSET: EntityType.ValueType # 3
42
+ ENTITY_TYPE_ANNOTATION_LOG: EntityType.ValueType # 4
43
+ global___EntityType = EntityType
44
+
45
+ @typing.final
46
+ class RemoteFile(google.protobuf.message.Message):
47
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
48
+
49
+ REMOTE_FILE_ID_FIELD_NUMBER: builtins.int
50
+ ORGANIZATION_ID_FIELD_NUMBER: builtins.int
51
+ ENTITY_ID_FIELD_NUMBER: builtins.int
52
+ ENTITY_TYPE_FIELD_NUMBER: builtins.int
53
+ FILE_NAME_FIELD_NUMBER: builtins.int
54
+ FILE_MIME_TYPE_FIELD_NUMBER: builtins.int
55
+ FILE_CONTENT_ENCODING_FIELD_NUMBER: builtins.int
56
+ STORAGE_KEY_FIELD_NUMBER: builtins.int
57
+ FILE_SIZE_FIELD_NUMBER: builtins.int
58
+ DESCRIPTION_FIELD_NUMBER: builtins.int
59
+ VIDEO_METADATA_FIELD_NUMBER: builtins.int
60
+ IMAGE_METADATA_FIELD_NUMBER: builtins.int
61
+ CREATED_BY_USER_ID_FIELD_NUMBER: builtins.int
62
+ MODIFIED_BY_USER_ID_FIELD_NUMBER: builtins.int
63
+ CREATED_DATE_FIELD_NUMBER: builtins.int
64
+ MODIFIED_DATE_FIELD_NUMBER: builtins.int
65
+ remote_file_id: builtins.str
66
+ organization_id: builtins.str
67
+ entity_id: builtins.str
68
+ entity_type: global___EntityType.ValueType
69
+ file_name: builtins.str
70
+ file_mime_type: builtins.str
71
+ file_content_encoding: builtins.str
72
+ storage_key: builtins.str
73
+ file_size: builtins.int
74
+ description: builtins.str
75
+ created_by_user_id: builtins.str
76
+ modified_by_user_id: builtins.str
77
+ @property
78
+ def video_metadata(self) -> global___VideoMetadata: ...
79
+ @property
80
+ def image_metadata(self) -> global___ImageMetadata: ...
81
+ @property
82
+ def created_date(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
83
+ @property
84
+ def modified_date(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
85
+ def __init__(
86
+ self,
87
+ *,
88
+ remote_file_id: builtins.str = ...,
89
+ organization_id: builtins.str = ...,
90
+ entity_id: builtins.str = ...,
91
+ entity_type: global___EntityType.ValueType = ...,
92
+ file_name: builtins.str = ...,
93
+ file_mime_type: builtins.str = ...,
94
+ file_content_encoding: builtins.str = ...,
95
+ storage_key: builtins.str = ...,
96
+ file_size: builtins.int = ...,
97
+ description: builtins.str | None = ...,
98
+ video_metadata: global___VideoMetadata | None = ...,
99
+ image_metadata: global___ImageMetadata | None = ...,
100
+ created_by_user_id: builtins.str = ...,
101
+ modified_by_user_id: builtins.str = ...,
102
+ created_date: google.protobuf.timestamp_pb2.Timestamp | None = ...,
103
+ modified_date: google.protobuf.timestamp_pb2.Timestamp | None = ...,
104
+ ) -> None: ...
105
+ def HasField(self, field_name: typing.Literal["_description", b"_description", "created_date", b"created_date", "description", b"description", "image_metadata", b"image_metadata", "metadata", b"metadata", "modified_date", b"modified_date", "video_metadata", b"video_metadata"]) -> builtins.bool: ...
106
+ def ClearField(self, field_name: typing.Literal["_description", b"_description", "created_by_user_id", b"created_by_user_id", "created_date", b"created_date", "description", b"description", "entity_id", b"entity_id", "entity_type", b"entity_type", "file_content_encoding", b"file_content_encoding", "file_mime_type", b"file_mime_type", "file_name", b"file_name", "file_size", b"file_size", "image_metadata", b"image_metadata", "metadata", b"metadata", "modified_by_user_id", b"modified_by_user_id", "modified_date", b"modified_date", "organization_id", b"organization_id", "remote_file_id", b"remote_file_id", "storage_key", b"storage_key", "video_metadata", b"video_metadata"]) -> None: ...
107
+ @typing.overload
108
+ def WhichOneof(self, oneof_group: typing.Literal["_description", b"_description"]) -> typing.Literal["description"] | None: ...
109
+ @typing.overload
110
+ def WhichOneof(self, oneof_group: typing.Literal["metadata", b"metadata"]) -> typing.Literal["video_metadata", "image_metadata"] | None: ...
111
+
112
+ global___RemoteFile = RemoteFile
113
+
114
+ @typing.final
115
+ class VideoMetadata(google.protobuf.message.Message):
116
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
117
+
118
+ HEIGHT_FIELD_NUMBER: builtins.int
119
+ WIDTH_FIELD_NUMBER: builtins.int
120
+ DURATION_SECONDS_FIELD_NUMBER: builtins.int
121
+ TIMESTAMP_FIELD_NUMBER: builtins.int
122
+ height: builtins.int
123
+ width: builtins.int
124
+ duration_seconds: builtins.float
125
+ @property
126
+ def timestamp(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
127
+ def __init__(
128
+ self,
129
+ *,
130
+ height: builtins.int = ...,
131
+ width: builtins.int = ...,
132
+ duration_seconds: builtins.float = ...,
133
+ timestamp: google.protobuf.timestamp_pb2.Timestamp | None = ...,
134
+ ) -> None: ...
135
+ def HasField(self, field_name: typing.Literal["timestamp", b"timestamp"]) -> builtins.bool: ...
136
+ def ClearField(self, field_name: typing.Literal["duration_seconds", b"duration_seconds", "height", b"height", "timestamp", b"timestamp", "width", b"width"]) -> None: ...
137
+
138
+ global___VideoMetadata = VideoMetadata
139
+
140
+ @typing.final
141
+ class ImageMetadata(google.protobuf.message.Message):
142
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
143
+
144
+ HEIGHT_FIELD_NUMBER: builtins.int
145
+ WIDTH_FIELD_NUMBER: builtins.int
146
+ height: builtins.int
147
+ width: builtins.int
148
+ def __init__(
149
+ self,
150
+ *,
151
+ height: builtins.int = ...,
152
+ width: builtins.int = ...,
153
+ ) -> None: ...
154
+ def ClearField(self, field_name: typing.Literal["height", b"height", "width", b"width"]) -> None: ...
155
+
156
+ global___ImageMetadata = ImageMetadata
157
+
158
+ @typing.final
159
+ class GetRemoteFileRequest(google.protobuf.message.Message):
160
+ """The request for a call to `RemoteFileService_GetRemoteFile` to retrieve a remote file;"""
161
+
162
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
163
+
164
+ REMOTE_FILE_ID_FIELD_NUMBER: builtins.int
165
+ remote_file_id: builtins.str
166
+ def __init__(
167
+ self,
168
+ *,
169
+ remote_file_id: builtins.str = ...,
170
+ ) -> None: ...
171
+ def ClearField(self, field_name: typing.Literal["remote_file_id", b"remote_file_id"]) -> None: ...
172
+
173
+ global___GetRemoteFileRequest = GetRemoteFileRequest
174
+
175
+ @typing.final
176
+ class GetRemoteFileResponse(google.protobuf.message.Message):
177
+ """The response of a call to `RemoteFileService_GetRemoteFile`."""
178
+
179
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
180
+
181
+ REMOTE_FILE_FIELD_NUMBER: builtins.int
182
+ @property
183
+ def remote_file(self) -> global___RemoteFile: ...
184
+ def __init__(
185
+ self,
186
+ *,
187
+ remote_file: global___RemoteFile | None = ...,
188
+ ) -> None: ...
189
+ def HasField(self, field_name: typing.Literal["remote_file", b"remote_file"]) -> builtins.bool: ...
190
+ def ClearField(self, field_name: typing.Literal["remote_file", b"remote_file"]) -> None: ...
191
+
192
+ global___GetRemoteFileResponse = GetRemoteFileResponse
193
+
194
+ @typing.final
195
+ class ListRemoteFilesRequest(google.protobuf.message.Message):
196
+ """The request for a call to `RemoteFileService_ListRemoteFiles` to retrieve remote files."""
197
+
198
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
199
+
200
+ PAGE_SIZE_FIELD_NUMBER: builtins.int
201
+ PAGE_TOKEN_FIELD_NUMBER: builtins.int
202
+ FILTER_FIELD_NUMBER: builtins.int
203
+ ORGANIZATION_ID_FIELD_NUMBER: builtins.int
204
+ page_size: builtins.int
205
+ """The maximum number of remote files to return. The service may return fewer than this value.
206
+ If unspecified, at most 50 remote files will be returned. The maximum value is 1000; values above
207
+ 1000 will be coerced to 1000. Optional.
208
+ """
209
+ page_token: builtins.str
210
+ """A page token, received from a previous `ListRemoteFiles` call.
211
+ Provide this to retrieve the subsequent page.
212
+ When paginating, all other parameters provided to `ListRemoteFiles` must match
213
+ the call that provided the page token. Optional.
214
+ """
215
+ filter: builtins.str
216
+ """A [Common Expression Language (CEL)](https://github.com/google/cel-spec) filter string.
217
+ Available fields to filter by are `remote_file_id`, `entity_id`, `entity_type`, and `file_name`.
218
+ 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).
219
+ For more information about the fields used for filtering, please refer to [this definition](/api/grpc/protocol_buffers/remote_files#remotefile). Optional.
220
+ """
221
+ organization_id: builtins.str
222
+ """This field is only required if your user belongs to multiple organizations."""
223
+ def __init__(
224
+ self,
225
+ *,
226
+ page_size: builtins.int = ...,
227
+ page_token: builtins.str = ...,
228
+ filter: builtins.str = ...,
229
+ organization_id: builtins.str = ...,
230
+ ) -> None: ...
231
+ def ClearField(self, field_name: typing.Literal["filter", b"filter", "organization_id", b"organization_id", "page_size", b"page_size", "page_token", b"page_token"]) -> None: ...
232
+
233
+ global___ListRemoteFilesRequest = ListRemoteFilesRequest
234
+
235
+ @typing.final
236
+ class ListRemoteFilesResponse(google.protobuf.message.Message):
237
+ """The response of a call to `RemoteFileService_ListRemoteFilesResponse`."""
238
+
239
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
240
+
241
+ REMOTE_FILES_FIELD_NUMBER: builtins.int
242
+ NEXT_PAGE_TOKEN_FIELD_NUMBER: builtins.int
243
+ next_page_token: builtins.str
244
+ @property
245
+ def remote_files(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___RemoteFile]: ...
246
+ def __init__(
247
+ self,
248
+ *,
249
+ remote_files: collections.abc.Iterable[global___RemoteFile] | None = ...,
250
+ next_page_token: builtins.str = ...,
251
+ ) -> None: ...
252
+ def ClearField(self, field_name: typing.Literal["next_page_token", b"next_page_token", "remote_files", b"remote_files"]) -> None: ...
253
+
254
+ global___ListRemoteFilesResponse = ListRemoteFilesResponse
255
+
256
+ @typing.final
257
+ class CreateRemoteFileRequest(google.protobuf.message.Message):
258
+ """The request for a call to `RemoteFileService_CreateRemoteFile` to create a remote file."""
259
+
260
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
261
+
262
+ FILE_NAME_FIELD_NUMBER: builtins.int
263
+ ENTITY_ID_FIELD_NUMBER: builtins.int
264
+ ENTITY_TYPE_FIELD_NUMBER: builtins.int
265
+ FILE_MIME_TYPE_FIELD_NUMBER: builtins.int
266
+ FILE_CONTENT_ENCODING_FIELD_NUMBER: builtins.int
267
+ FILE_SIZE_FIELD_NUMBER: builtins.int
268
+ DESCRIPTION_FIELD_NUMBER: builtins.int
269
+ ORGANIZATION_ID_FIELD_NUMBER: builtins.int
270
+ VIDEO_METADATA_FIELD_NUMBER: builtins.int
271
+ IMAGE_METADATA_FIELD_NUMBER: builtins.int
272
+ CUSTOM_UUID_FIELD_NUMBER: builtins.int
273
+ file_name: builtins.str
274
+ entity_id: builtins.str
275
+ entity_type: global___EntityType.ValueType
276
+ file_mime_type: builtins.str
277
+ file_content_encoding: builtins.str
278
+ file_size: builtins.int
279
+ description: builtins.str
280
+ organization_id: builtins.str
281
+ """This field is only required if your user belongs to multiple organizations."""
282
+ custom_uuid: builtins.str
283
+ """A custom UUID used to generate the object key. Recommended to be left unset."""
284
+ @property
285
+ def video_metadata(self) -> global___VideoMetadata: ...
286
+ @property
287
+ def image_metadata(self) -> global___ImageMetadata: ...
288
+ def __init__(
289
+ self,
290
+ *,
291
+ file_name: builtins.str = ...,
292
+ entity_id: builtins.str = ...,
293
+ entity_type: global___EntityType.ValueType = ...,
294
+ file_mime_type: builtins.str = ...,
295
+ file_content_encoding: builtins.str = ...,
296
+ file_size: builtins.int = ...,
297
+ description: builtins.str | None = ...,
298
+ organization_id: builtins.str = ...,
299
+ video_metadata: global___VideoMetadata | None = ...,
300
+ image_metadata: global___ImageMetadata | None = ...,
301
+ custom_uuid: builtins.str | None = ...,
302
+ ) -> None: ...
303
+ def HasField(self, field_name: typing.Literal["_custom_uuid", b"_custom_uuid", "_description", b"_description", "custom_uuid", b"custom_uuid", "description", b"description", "image_metadata", b"image_metadata", "metadata", b"metadata", "video_metadata", b"video_metadata"]) -> builtins.bool: ...
304
+ def ClearField(self, field_name: typing.Literal["_custom_uuid", b"_custom_uuid", "_description", b"_description", "custom_uuid", b"custom_uuid", "description", b"description", "entity_id", b"entity_id", "entity_type", b"entity_type", "file_content_encoding", b"file_content_encoding", "file_mime_type", b"file_mime_type", "file_name", b"file_name", "file_size", b"file_size", "image_metadata", b"image_metadata", "metadata", b"metadata", "organization_id", b"organization_id", "video_metadata", b"video_metadata"]) -> None: ...
305
+ @typing.overload
306
+ def WhichOneof(self, oneof_group: typing.Literal["_custom_uuid", b"_custom_uuid"]) -> typing.Literal["custom_uuid"] | None: ...
307
+ @typing.overload
308
+ def WhichOneof(self, oneof_group: typing.Literal["_description", b"_description"]) -> typing.Literal["description"] | None: ...
309
+ @typing.overload
310
+ def WhichOneof(self, oneof_group: typing.Literal["metadata", b"metadata"]) -> typing.Literal["video_metadata", "image_metadata"] | None: ...
311
+
312
+ global___CreateRemoteFileRequest = CreateRemoteFileRequest
313
+
314
+ @typing.final
315
+ class CreateRemoteFileResponse(google.protobuf.message.Message):
316
+ """The response for a call to `RemoteFileService_CreateRemoteFile`."""
317
+
318
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
319
+
320
+ REMOTE_FILE_FIELD_NUMBER: builtins.int
321
+ @property
322
+ def remote_file(self) -> global___RemoteFile: ...
323
+ def __init__(
324
+ self,
325
+ *,
326
+ remote_file: global___RemoteFile | None = ...,
327
+ ) -> None: ...
328
+ def HasField(self, field_name: typing.Literal["remote_file", b"remote_file"]) -> builtins.bool: ...
329
+ def ClearField(self, field_name: typing.Literal["remote_file", b"remote_file"]) -> None: ...
330
+
331
+ global___CreateRemoteFileResponse = CreateRemoteFileResponse
332
+
333
+ @typing.final
334
+ class DeleteRemoteFileRequest(google.protobuf.message.Message):
335
+ """The request for a call to `RemoteFileService_DeleteRemoteFile` to delete a remote file."""
336
+
337
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
338
+
339
+ REMOTE_FILE_ID_FIELD_NUMBER: builtins.int
340
+ remote_file_id: builtins.str
341
+ def __init__(
342
+ self,
343
+ *,
344
+ remote_file_id: builtins.str = ...,
345
+ ) -> None: ...
346
+ def ClearField(self, field_name: typing.Literal["remote_file_id", b"remote_file_id"]) -> None: ...
347
+
348
+ global___DeleteRemoteFileRequest = DeleteRemoteFileRequest
349
+
350
+ @typing.final
351
+ class DeleteRemoteFileResponse(google.protobuf.message.Message):
352
+ """The response of a call to `RemoteFileService_DeleteRemoteFile`."""
353
+
354
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
355
+
356
+ def __init__(
357
+ self,
358
+ ) -> None: ...
359
+
360
+ global___DeleteRemoteFileResponse = DeleteRemoteFileResponse
361
+
362
+ @typing.final
363
+ class BatchDeleteRemoteFilesRequest(google.protobuf.message.Message):
364
+ """The request for a call to `RemoteFileService_BatchDeleteRemoteFiles` to delete remote files."""
365
+
366
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
367
+
368
+ REMOTE_FILE_IDS_FIELD_NUMBER: builtins.int
369
+ @property
370
+ def remote_file_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
371
+ """Up to 1000 remote file IDs can be provided per request."""
372
+
373
+ def __init__(
374
+ self,
375
+ *,
376
+ remote_file_ids: collections.abc.Iterable[builtins.str] | None = ...,
377
+ ) -> None: ...
378
+ def ClearField(self, field_name: typing.Literal["remote_file_ids", b"remote_file_ids"]) -> None: ...
379
+
380
+ global___BatchDeleteRemoteFilesRequest = BatchDeleteRemoteFilesRequest
381
+
382
+ @typing.final
383
+ class BatchDeleteRemoteFilesResponse(google.protobuf.message.Message):
384
+ """The response of a call to `RemoteFileService_BatchDeleteRemoteFiles`."""
385
+
386
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
387
+
388
+ def __init__(
389
+ self,
390
+ ) -> None: ...
391
+
392
+ global___BatchDeleteRemoteFilesResponse = BatchDeleteRemoteFilesResponse
393
+
394
+ @typing.final
395
+ class UpdateRemoteFileRequest(google.protobuf.message.Message):
396
+ """The request for a call to `RemoteFileService_UpdateRemoteFile` to update a remote file."""
397
+
398
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
399
+
400
+ REMOTE_FILE_FIELD_NUMBER: builtins.int
401
+ UPDATE_MASK_FIELD_NUMBER: builtins.int
402
+ @property
403
+ def remote_file(self) -> global___RemoteFile:
404
+ """The remote file to update."""
405
+
406
+ @property
407
+ def update_mask(self) -> google.protobuf.field_mask_pb2.FieldMask:
408
+ """The list of fields to be updated. The fields available to be updated are `description` and `metadata`."""
409
+
410
+ def __init__(
411
+ self,
412
+ *,
413
+ remote_file: global___RemoteFile | None = ...,
414
+ update_mask: google.protobuf.field_mask_pb2.FieldMask | None = ...,
415
+ ) -> None: ...
416
+ def HasField(self, field_name: typing.Literal["remote_file", b"remote_file", "update_mask", b"update_mask"]) -> builtins.bool: ...
417
+ def ClearField(self, field_name: typing.Literal["remote_file", b"remote_file", "update_mask", b"update_mask"]) -> None: ...
418
+
419
+ global___UpdateRemoteFileRequest = UpdateRemoteFileRequest
420
+
421
+ @typing.final
422
+ class UpdateRemoteFileResponse(google.protobuf.message.Message):
423
+ """The response of a call to `RemoteFileService_UpdateRemoteFile`."""
424
+
425
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
426
+
427
+ REMOTE_FILE_FIELD_NUMBER: builtins.int
428
+ @property
429
+ def remote_file(self) -> global___RemoteFile: ...
430
+ def __init__(
431
+ self,
432
+ *,
433
+ remote_file: global___RemoteFile | None = ...,
434
+ ) -> None: ...
435
+ def HasField(self, field_name: typing.Literal["remote_file", b"remote_file"]) -> builtins.bool: ...
436
+ def ClearField(self, field_name: typing.Literal["remote_file", b"remote_file"]) -> None: ...
437
+
438
+ global___UpdateRemoteFileResponse = UpdateRemoteFileResponse
439
+
440
+ @typing.final
441
+ class GetRemoteFileDownloadUrlRequest(google.protobuf.message.Message):
442
+ """The request for a call to `RemoteFileService_GetRemoteFileDownloadUrl`."""
443
+
444
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
445
+
446
+ REMOTE_FILE_ID_FIELD_NUMBER: builtins.int
447
+ remote_file_id: builtins.str
448
+ def __init__(
449
+ self,
450
+ *,
451
+ remote_file_id: builtins.str = ...,
452
+ ) -> None: ...
453
+ def ClearField(self, field_name: typing.Literal["remote_file_id", b"remote_file_id"]) -> None: ...
454
+
455
+ global___GetRemoteFileDownloadUrlRequest = GetRemoteFileDownloadUrlRequest
456
+
457
+ @typing.final
458
+ class GetRemoteFileDownloadUrlResponse(google.protobuf.message.Message):
459
+ """The response of a call to `RemoteFileService_GetRemoteFileDownloadUrl`."""
460
+
461
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
462
+
463
+ DOWNLOAD_URL_FIELD_NUMBER: builtins.int
464
+ download_url: builtins.str
465
+ def __init__(
466
+ self,
467
+ *,
468
+ download_url: builtins.str = ...,
469
+ ) -> None: ...
470
+ def ClearField(self, field_name: typing.Literal["download_url", b"download_url"]) -> None: ...
471
+
472
+ global___GetRemoteFileDownloadUrlResponse = GetRemoteFileDownloadUrlResponse