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,539 @@
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 _AnnotationState:
25
+ ValueType = typing.NewType("ValueType", builtins.int)
26
+ V: typing_extensions.TypeAlias = ValueType
27
+
28
+ class _AnnotationStateEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_AnnotationState.ValueType], builtins.type):
29
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
30
+ ANNOTATION_STATE_UNSPECIFIED: _AnnotationState.ValueType # 0
31
+ ANNOTATION_STATE_OPEN: _AnnotationState.ValueType # 1
32
+ ANNOTATION_STATE_FLAGGED: _AnnotationState.ValueType # 2
33
+ ANNOTATION_STATE_RESOLVED: _AnnotationState.ValueType # 3
34
+
35
+ class AnnotationState(_AnnotationState, metaclass=_AnnotationStateEnumTypeWrapper): ...
36
+
37
+ ANNOTATION_STATE_UNSPECIFIED: AnnotationState.ValueType # 0
38
+ ANNOTATION_STATE_OPEN: AnnotationState.ValueType # 1
39
+ ANNOTATION_STATE_FLAGGED: AnnotationState.ValueType # 2
40
+ ANNOTATION_STATE_RESOLVED: AnnotationState.ValueType # 3
41
+ global___AnnotationState = AnnotationState
42
+
43
+ class _AnnotationType:
44
+ ValueType = typing.NewType("ValueType", builtins.int)
45
+ V: typing_extensions.TypeAlias = ValueType
46
+
47
+ class _AnnotationTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_AnnotationType.ValueType], builtins.type):
48
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
49
+ ANNOTATION_TYPE_UNSPECIFIED: _AnnotationType.ValueType # 0
50
+ ANNOTATION_TYPE_DATA_REVIEW: _AnnotationType.ValueType # 1
51
+ ANNOTATION_TYPE_PHASE: _AnnotationType.ValueType # 2
52
+
53
+ class AnnotationType(_AnnotationType, metaclass=_AnnotationTypeEnumTypeWrapper): ...
54
+
55
+ ANNOTATION_TYPE_UNSPECIFIED: AnnotationType.ValueType # 0
56
+ ANNOTATION_TYPE_DATA_REVIEW: AnnotationType.ValueType # 1
57
+ ANNOTATION_TYPE_PHASE: AnnotationType.ValueType # 2
58
+ global___AnnotationType = AnnotationType
59
+
60
+ @typing.final
61
+ class Annotation(google.protobuf.message.Message):
62
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
63
+
64
+ ANNOTATION_ID_FIELD_NUMBER: builtins.int
65
+ NAME_FIELD_NUMBER: builtins.int
66
+ DESCRIPTION_FIELD_NUMBER: builtins.int
67
+ START_TIME_FIELD_NUMBER: builtins.int
68
+ END_TIME_FIELD_NUMBER: builtins.int
69
+ CREATED_BY_USER_ID_FIELD_NUMBER: builtins.int
70
+ MODIFIED_BY_USER_ID_FIELD_NUMBER: builtins.int
71
+ CREATED_DATE_FIELD_NUMBER: builtins.int
72
+ MODIFIED_DATE_FIELD_NUMBER: builtins.int
73
+ RUN_ID_FIELD_NUMBER: builtins.int
74
+ STATE_FIELD_NUMBER: builtins.int
75
+ ORGANIZATION_ID_FIELD_NUMBER: builtins.int
76
+ ASSIGNED_TO_USER_ID_FIELD_NUMBER: builtins.int
77
+ ANNOTATION_TYPE_FIELD_NUMBER: builtins.int
78
+ TAGS_FIELD_NUMBER: builtins.int
79
+ LEGEND_CONFIG_FIELD_NUMBER: builtins.int
80
+ CREATED_BY_CONDITION_ID_FIELD_NUMBER: builtins.int
81
+ CREATED_BY_RULE_CONDITION_VERSION_ID_FIELD_NUMBER: builtins.int
82
+ REPORT_RULE_VERSION_ID_FIELD_NUMBER: builtins.int
83
+ annotation_id: builtins.str
84
+ name: builtins.str
85
+ description: builtins.str
86
+ created_by_user_id: builtins.str
87
+ modified_by_user_id: builtins.str
88
+ run_id: builtins.str
89
+ state: global___AnnotationState.ValueType
90
+ organization_id: builtins.str
91
+ assigned_to_user_id: builtins.str
92
+ annotation_type: global___AnnotationType.ValueType
93
+ legend_config: builtins.str
94
+ created_by_condition_id: builtins.str
95
+ created_by_rule_condition_version_id: builtins.str
96
+ report_rule_version_id: builtins.str
97
+ @property
98
+ def start_time(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
99
+ @property
100
+ def end_time(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
101
+ @property
102
+ def created_date(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
103
+ @property
104
+ def modified_date(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
105
+ @property
106
+ def tags(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
107
+ def __init__(
108
+ self,
109
+ *,
110
+ annotation_id: builtins.str = ...,
111
+ name: builtins.str = ...,
112
+ description: builtins.str = ...,
113
+ start_time: google.protobuf.timestamp_pb2.Timestamp | None = ...,
114
+ end_time: google.protobuf.timestamp_pb2.Timestamp | None = ...,
115
+ created_by_user_id: builtins.str = ...,
116
+ modified_by_user_id: builtins.str = ...,
117
+ created_date: google.protobuf.timestamp_pb2.Timestamp | None = ...,
118
+ modified_date: google.protobuf.timestamp_pb2.Timestamp | None = ...,
119
+ run_id: builtins.str | None = ...,
120
+ state: global___AnnotationState.ValueType | None = ...,
121
+ organization_id: builtins.str = ...,
122
+ assigned_to_user_id: builtins.str = ...,
123
+ annotation_type: global___AnnotationType.ValueType = ...,
124
+ tags: collections.abc.Iterable[builtins.str] | None = ...,
125
+ legend_config: builtins.str | None = ...,
126
+ created_by_condition_id: builtins.str | None = ...,
127
+ created_by_rule_condition_version_id: builtins.str | None = ...,
128
+ report_rule_version_id: builtins.str | None = ...,
129
+ ) -> None: ...
130
+ def HasField(self, field_name: typing.Literal["_created_by_condition_id", b"_created_by_condition_id", "_created_by_rule_condition_version_id", b"_created_by_rule_condition_version_id", "_legend_config", b"_legend_config", "_report_rule_version_id", b"_report_rule_version_id", "_run_id", b"_run_id", "_state", b"_state", "created_by_condition_id", b"created_by_condition_id", "created_by_rule_condition_version_id", b"created_by_rule_condition_version_id", "created_date", b"created_date", "end_time", b"end_time", "legend_config", b"legend_config", "modified_date", b"modified_date", "report_rule_version_id", b"report_rule_version_id", "run_id", b"run_id", "start_time", b"start_time", "state", b"state"]) -> builtins.bool: ...
131
+ def ClearField(self, field_name: typing.Literal["_created_by_condition_id", b"_created_by_condition_id", "_created_by_rule_condition_version_id", b"_created_by_rule_condition_version_id", "_legend_config", b"_legend_config", "_report_rule_version_id", b"_report_rule_version_id", "_run_id", b"_run_id", "_state", b"_state", "annotation_id", b"annotation_id", "annotation_type", b"annotation_type", "assigned_to_user_id", b"assigned_to_user_id", "created_by_condition_id", b"created_by_condition_id", "created_by_rule_condition_version_id", b"created_by_rule_condition_version_id", "created_by_user_id", b"created_by_user_id", "created_date", b"created_date", "description", b"description", "end_time", b"end_time", "legend_config", b"legend_config", "modified_by_user_id", b"modified_by_user_id", "modified_date", b"modified_date", "name", b"name", "organization_id", b"organization_id", "report_rule_version_id", b"report_rule_version_id", "run_id", b"run_id", "start_time", b"start_time", "state", b"state", "tags", b"tags"]) -> None: ...
132
+ @typing.overload
133
+ def WhichOneof(self, oneof_group: typing.Literal["_created_by_condition_id", b"_created_by_condition_id"]) -> typing.Literal["created_by_condition_id"] | None: ...
134
+ @typing.overload
135
+ def WhichOneof(self, oneof_group: typing.Literal["_created_by_rule_condition_version_id", b"_created_by_rule_condition_version_id"]) -> typing.Literal["created_by_rule_condition_version_id"] | None: ...
136
+ @typing.overload
137
+ def WhichOneof(self, oneof_group: typing.Literal["_legend_config", b"_legend_config"]) -> typing.Literal["legend_config"] | None: ...
138
+ @typing.overload
139
+ def WhichOneof(self, oneof_group: typing.Literal["_report_rule_version_id", b"_report_rule_version_id"]) -> typing.Literal["report_rule_version_id"] | None: ...
140
+ @typing.overload
141
+ def WhichOneof(self, oneof_group: typing.Literal["_run_id", b"_run_id"]) -> typing.Literal["run_id"] | None: ...
142
+ @typing.overload
143
+ def WhichOneof(self, oneof_group: typing.Literal["_state", b"_state"]) -> typing.Literal["state"] | None: ...
144
+
145
+ global___Annotation = Annotation
146
+
147
+ @typing.final
148
+ class AnnotationLinkedChannelsChannel(google.protobuf.message.Message):
149
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
150
+
151
+ CHANNEL_ID_FIELD_NUMBER: builtins.int
152
+ channel_id: builtins.str
153
+ def __init__(
154
+ self,
155
+ *,
156
+ channel_id: builtins.str = ...,
157
+ ) -> None: ...
158
+ def ClearField(self, field_name: typing.Literal["channel_id", b"channel_id"]) -> None: ...
159
+
160
+ global___AnnotationLinkedChannelsChannel = AnnotationLinkedChannelsChannel
161
+
162
+ @typing.final
163
+ class AnnotationLinkedChannelsBitFieldElement(google.protobuf.message.Message):
164
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
165
+
166
+ CHANNEL_ID_FIELD_NUMBER: builtins.int
167
+ BIT_FIELD_NAME_FIELD_NUMBER: builtins.int
168
+ channel_id: builtins.str
169
+ bit_field_name: builtins.str
170
+ def __init__(
171
+ self,
172
+ *,
173
+ channel_id: builtins.str = ...,
174
+ bit_field_name: builtins.str = ...,
175
+ ) -> None: ...
176
+ def ClearField(self, field_name: typing.Literal["bit_field_name", b"bit_field_name", "channel_id", b"channel_id"]) -> None: ...
177
+
178
+ global___AnnotationLinkedChannelsBitFieldElement = AnnotationLinkedChannelsBitFieldElement
179
+
180
+ @typing.final
181
+ class AnnotationLinkedChannel(google.protobuf.message.Message):
182
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
183
+
184
+ CHANNEL_FIELD_NUMBER: builtins.int
185
+ BIT_FIELD_ELEMENT_FIELD_NUMBER: builtins.int
186
+ @property
187
+ def channel(self) -> global___AnnotationLinkedChannelsChannel: ...
188
+ @property
189
+ def bit_field_element(self) -> global___AnnotationLinkedChannelsBitFieldElement: ...
190
+ def __init__(
191
+ self,
192
+ *,
193
+ channel: global___AnnotationLinkedChannelsChannel | None = ...,
194
+ bit_field_element: global___AnnotationLinkedChannelsBitFieldElement | None = ...,
195
+ ) -> None: ...
196
+ def HasField(self, field_name: typing.Literal["bit_field_element", b"bit_field_element", "channel", b"channel", "type", b"type"]) -> builtins.bool: ...
197
+ def ClearField(self, field_name: typing.Literal["bit_field_element", b"bit_field_element", "channel", b"channel", "type", b"type"]) -> None: ...
198
+ def WhichOneof(self, oneof_group: typing.Literal["type", b"type"]) -> typing.Literal["channel", "bit_field_element"] | None: ...
199
+
200
+ global___AnnotationLinkedChannel = AnnotationLinkedChannel
201
+
202
+ @typing.final
203
+ class CreateAnnotationRequest(google.protobuf.message.Message):
204
+ """The request for a call to `AnnotationService_CreateAnnotation` to create a new annotation.
205
+ At least 1 asset, tag, or channel must be specified.
206
+ """
207
+
208
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
209
+
210
+ NAME_FIELD_NUMBER: builtins.int
211
+ DESCRIPTION_FIELD_NUMBER: builtins.int
212
+ START_TIME_FIELD_NUMBER: builtins.int
213
+ END_TIME_FIELD_NUMBER: builtins.int
214
+ ASSETS_FIELD_NUMBER: builtins.int
215
+ LINKED_CHANNELS_FIELD_NUMBER: builtins.int
216
+ TAGS_FIELD_NUMBER: builtins.int
217
+ RUN_ID_FIELD_NUMBER: builtins.int
218
+ ASSIGN_TO_USER_ID_FIELD_NUMBER: builtins.int
219
+ ORGANIZATION_ID_FIELD_NUMBER: builtins.int
220
+ STATE_FIELD_NUMBER: builtins.int
221
+ ANNOTATION_TYPE_FIELD_NUMBER: builtins.int
222
+ CREATED_BY_CONDITION_ID_FIELD_NUMBER: builtins.int
223
+ LEGEND_CONFIG_FIELD_NUMBER: builtins.int
224
+ CREATED_BY_RULE_CONDITION_VERSION_ID_FIELD_NUMBER: builtins.int
225
+ name: builtins.str
226
+ """The name assigned to the new annotation."""
227
+ description: builtins.str
228
+ """A short description about the new annotation."""
229
+ run_id: builtins.str
230
+ """The ID of the run that this annotation is associated with."""
231
+ assign_to_user_id: builtins.str
232
+ """The ID of the user that this annotation is assigned to."""
233
+ organization_id: builtins.str
234
+ """The organization associated with this annotation. An organization ID is only required
235
+ if the user belongs to multiple organizations.
236
+ """
237
+ state: global___AnnotationState.ValueType
238
+ """The state of the annotation. If an annotation has an `annotation_type` of `ANNOTATION_TYPE_PHASE`, then state must be
239
+ unset, otherwise an error will be returned.
240
+ """
241
+ annotation_type: global___AnnotationType.ValueType
242
+ """The type of the annotation."""
243
+ created_by_condition_id: builtins.str
244
+ """The ID of the rule condition that created this annotation."""
245
+ legend_config: builtins.str
246
+ """A JSON string containing the axes configuration of the annotation's linked channels."""
247
+ created_by_rule_condition_version_id: builtins.str
248
+ """The ID of the rule condition version that created this annotation."""
249
+ @property
250
+ def start_time(self) -> google.protobuf.timestamp_pb2.Timestamp:
251
+ """When the annotation starts."""
252
+
253
+ @property
254
+ def end_time(self) -> google.protobuf.timestamp_pb2.Timestamp:
255
+ """When the annotation ends."""
256
+
257
+ @property
258
+ def assets(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
259
+ """The names of the assets to associate with this annotation."""
260
+
261
+ @property
262
+ def linked_channels(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___AnnotationLinkedChannel]:
263
+ """The channels to associate with this annotation."""
264
+
265
+ @property
266
+ def tags(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
267
+ """The names of the tags to associate with this annotation."""
268
+
269
+ def __init__(
270
+ self,
271
+ *,
272
+ name: builtins.str = ...,
273
+ description: builtins.str = ...,
274
+ start_time: google.protobuf.timestamp_pb2.Timestamp | None = ...,
275
+ end_time: google.protobuf.timestamp_pb2.Timestamp | None = ...,
276
+ assets: collections.abc.Iterable[builtins.str] | None = ...,
277
+ linked_channels: collections.abc.Iterable[global___AnnotationLinkedChannel] | None = ...,
278
+ tags: collections.abc.Iterable[builtins.str] | None = ...,
279
+ run_id: builtins.str | None = ...,
280
+ assign_to_user_id: builtins.str | None = ...,
281
+ organization_id: builtins.str = ...,
282
+ state: global___AnnotationState.ValueType | None = ...,
283
+ annotation_type: global___AnnotationType.ValueType = ...,
284
+ created_by_condition_id: builtins.str | None = ...,
285
+ legend_config: builtins.str | None = ...,
286
+ created_by_rule_condition_version_id: builtins.str | None = ...,
287
+ ) -> None: ...
288
+ def HasField(self, field_name: typing.Literal["_assign_to_user_id", b"_assign_to_user_id", "_created_by_condition_id", b"_created_by_condition_id", "_created_by_rule_condition_version_id", b"_created_by_rule_condition_version_id", "_legend_config", b"_legend_config", "_run_id", b"_run_id", "_state", b"_state", "assign_to_user_id", b"assign_to_user_id", "created_by_condition_id", b"created_by_condition_id", "created_by_rule_condition_version_id", b"created_by_rule_condition_version_id", "end_time", b"end_time", "legend_config", b"legend_config", "run_id", b"run_id", "start_time", b"start_time", "state", b"state"]) -> builtins.bool: ...
289
+ def ClearField(self, field_name: typing.Literal["_assign_to_user_id", b"_assign_to_user_id", "_created_by_condition_id", b"_created_by_condition_id", "_created_by_rule_condition_version_id", b"_created_by_rule_condition_version_id", "_legend_config", b"_legend_config", "_run_id", b"_run_id", "_state", b"_state", "annotation_type", b"annotation_type", "assets", b"assets", "assign_to_user_id", b"assign_to_user_id", "created_by_condition_id", b"created_by_condition_id", "created_by_rule_condition_version_id", b"created_by_rule_condition_version_id", "description", b"description", "end_time", b"end_time", "legend_config", b"legend_config", "linked_channels", b"linked_channels", "name", b"name", "organization_id", b"organization_id", "run_id", b"run_id", "start_time", b"start_time", "state", b"state", "tags", b"tags"]) -> None: ...
290
+ @typing.overload
291
+ def WhichOneof(self, oneof_group: typing.Literal["_assign_to_user_id", b"_assign_to_user_id"]) -> typing.Literal["assign_to_user_id"] | None: ...
292
+ @typing.overload
293
+ def WhichOneof(self, oneof_group: typing.Literal["_created_by_condition_id", b"_created_by_condition_id"]) -> typing.Literal["created_by_condition_id"] | None: ...
294
+ @typing.overload
295
+ def WhichOneof(self, oneof_group: typing.Literal["_created_by_rule_condition_version_id", b"_created_by_rule_condition_version_id"]) -> typing.Literal["created_by_rule_condition_version_id"] | None: ...
296
+ @typing.overload
297
+ def WhichOneof(self, oneof_group: typing.Literal["_legend_config", b"_legend_config"]) -> typing.Literal["legend_config"] | None: ...
298
+ @typing.overload
299
+ def WhichOneof(self, oneof_group: typing.Literal["_run_id", b"_run_id"]) -> typing.Literal["run_id"] | None: ...
300
+ @typing.overload
301
+ def WhichOneof(self, oneof_group: typing.Literal["_state", b"_state"]) -> typing.Literal["state"] | None: ...
302
+
303
+ global___CreateAnnotationRequest = CreateAnnotationRequest
304
+
305
+ @typing.final
306
+ class CreateAnnotationResponse(google.protobuf.message.Message):
307
+ """The result of a call to `AnnotationService_CreateAnnotation`."""
308
+
309
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
310
+
311
+ ANNOTATION_FIELD_NUMBER: builtins.int
312
+ @property
313
+ def annotation(self) -> global___Annotation: ...
314
+ def __init__(
315
+ self,
316
+ *,
317
+ annotation: global___Annotation | None = ...,
318
+ ) -> None: ...
319
+ def HasField(self, field_name: typing.Literal["annotation", b"annotation"]) -> builtins.bool: ...
320
+ def ClearField(self, field_name: typing.Literal["annotation", b"annotation"]) -> None: ...
321
+
322
+ global___CreateAnnotationResponse = CreateAnnotationResponse
323
+
324
+ @typing.final
325
+ class DeleteAnnotationRequest(google.protobuf.message.Message):
326
+ """The request for a call to `AnnotationService_DeleteAnnotation`."""
327
+
328
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
329
+
330
+ ANNOTATION_ID_FIELD_NUMBER: builtins.int
331
+ annotation_id: builtins.str
332
+ def __init__(
333
+ self,
334
+ *,
335
+ annotation_id: builtins.str = ...,
336
+ ) -> None: ...
337
+ def ClearField(self, field_name: typing.Literal["annotation_id", b"annotation_id"]) -> None: ...
338
+
339
+ global___DeleteAnnotationRequest = DeleteAnnotationRequest
340
+
341
+ @typing.final
342
+ class DeleteAnnotationResponse(google.protobuf.message.Message):
343
+ """The response of a call to `AnnotationService_DeleteAnnotation`."""
344
+
345
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
346
+
347
+ def __init__(
348
+ self,
349
+ ) -> None: ...
350
+
351
+ global___DeleteAnnotationResponse = DeleteAnnotationResponse
352
+
353
+ @typing.final
354
+ class BatchDeleteAnnotationsRequest(google.protobuf.message.Message):
355
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
356
+
357
+ ANNOTATION_IDS_FIELD_NUMBER: builtins.int
358
+ @property
359
+ def annotation_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
360
+ """Limit of 1000 annotations per batch"""
361
+
362
+ def __init__(
363
+ self,
364
+ *,
365
+ annotation_ids: collections.abc.Iterable[builtins.str] | None = ...,
366
+ ) -> None: ...
367
+ def ClearField(self, field_name: typing.Literal["annotation_ids", b"annotation_ids"]) -> None: ...
368
+
369
+ global___BatchDeleteAnnotationsRequest = BatchDeleteAnnotationsRequest
370
+
371
+ @typing.final
372
+ class BatchDeleteAnnotationsResponse(google.protobuf.message.Message):
373
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
374
+
375
+ def __init__(
376
+ self,
377
+ ) -> None: ...
378
+
379
+ global___BatchDeleteAnnotationsResponse = BatchDeleteAnnotationsResponse
380
+
381
+ @typing.final
382
+ class GetAnnotationRequest(google.protobuf.message.Message):
383
+ """The request for a call to `AnnotationService_GetAnnotation`."""
384
+
385
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
386
+
387
+ ANNOTATION_ID_FIELD_NUMBER: builtins.int
388
+ annotation_id: builtins.str
389
+ def __init__(
390
+ self,
391
+ *,
392
+ annotation_id: builtins.str = ...,
393
+ ) -> None: ...
394
+ def ClearField(self, field_name: typing.Literal["annotation_id", b"annotation_id"]) -> None: ...
395
+
396
+ global___GetAnnotationRequest = GetAnnotationRequest
397
+
398
+ @typing.final
399
+ class GetAnnotationResponse(google.protobuf.message.Message):
400
+ """The response of a call to `AnnotationService_GetAnnotation`."""
401
+
402
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
403
+
404
+ ANNOTATION_FIELD_NUMBER: builtins.int
405
+ @property
406
+ def annotation(self) -> global___Annotation: ...
407
+ def __init__(
408
+ self,
409
+ *,
410
+ annotation: global___Annotation | None = ...,
411
+ ) -> None: ...
412
+ def HasField(self, field_name: typing.Literal["annotation", b"annotation"]) -> builtins.bool: ...
413
+ def ClearField(self, field_name: typing.Literal["annotation", b"annotation"]) -> None: ...
414
+
415
+ global___GetAnnotationResponse = GetAnnotationResponse
416
+
417
+ @typing.final
418
+ class ListAnnotationsRequest(google.protobuf.message.Message):
419
+ """The request for a call to `AnnotationService_ListAnnotations` to retrieve annotations."""
420
+
421
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
422
+
423
+ PAGE_SIZE_FIELD_NUMBER: builtins.int
424
+ PAGE_TOKEN_FIELD_NUMBER: builtins.int
425
+ FILTER_FIELD_NUMBER: builtins.int
426
+ ORGANIZATION_ID_FIELD_NUMBER: builtins.int
427
+ ORDER_BY_FIELD_NUMBER: builtins.int
428
+ page_size: builtins.int
429
+ """The maximum number of annotations to return. The service may return fewer than this value.
430
+ If unspecified, at most 50 annotations will be returned. The maximum value is 1000; values above
431
+ 1000 will be coerced to 1000. Optional.
432
+ """
433
+ page_token: builtins.str
434
+ """A page token, received from a previous `ListAnnotations` call.
435
+ Provide this to retrieve the subsequent page.
436
+ When paginating, all other parameters provided to `ListAnnotations` must match
437
+ the call that provided the page token. Optional.
438
+ """
439
+ filter: builtins.str
440
+ """A [Common Expression Language (CEL)](https://github.com/google/cel-spec) filter string.
441
+ Available fields to filter by are `annotation_id`, `start_time`, `end_time`,
442
+ `created_date`, `modified_date`, `run_id`, `name`, `description`, `state`, `created_by_user_id`, `created_by_rule_condition_version_id`,
443
+ `annotation_type`, `tag_name`, and `assignee`.
444
+ 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).
445
+ For more information about the fields used for filtering, please refer to [this definition](/api/grpc/protocol_buffers/annotations#annotation). Optional.
446
+ """
447
+ organization_id: builtins.str
448
+ """This field is only required if your user belongs to multiple organizations."""
449
+ order_by: builtins.str
450
+ """How to order the retrieved annotations. Formatted as a comma-separated string i.e. "<field_name>[ desc],...".
451
+ Available fields to order_by are `created_date`, `modified_date`, `start_time`, and `end_time`.
452
+ If left empty, items are ordered by `created_date` in ascending order (oldest-first).
453
+ For more information about the format of this field, read [this](https://google.aip.dev/132#ordering)
454
+ Example: "created_date desc,modified_date"
455
+ """
456
+ def __init__(
457
+ self,
458
+ *,
459
+ page_size: builtins.int = ...,
460
+ page_token: builtins.str = ...,
461
+ filter: builtins.str = ...,
462
+ organization_id: builtins.str = ...,
463
+ order_by: builtins.str = ...,
464
+ ) -> None: ...
465
+ def ClearField(self, field_name: typing.Literal["filter", b"filter", "order_by", b"order_by", "organization_id", b"organization_id", "page_size", b"page_size", "page_token", b"page_token"]) -> None: ...
466
+
467
+ global___ListAnnotationsRequest = ListAnnotationsRequest
468
+
469
+ @typing.final
470
+ class ListAnnotationsResponse(google.protobuf.message.Message):
471
+ """The result of a call to `AnnotationService_ListAnnotations`."""
472
+
473
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
474
+
475
+ ANNOTATIONS_FIELD_NUMBER: builtins.int
476
+ NEXT_PAGE_TOKEN_FIELD_NUMBER: builtins.int
477
+ next_page_token: builtins.str
478
+ """Oops, we skipped to index 5! No reason for that; the indices between aren't reserved or anything."""
479
+ @property
480
+ def annotations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Annotation]: ...
481
+ def __init__(
482
+ self,
483
+ *,
484
+ annotations: collections.abc.Iterable[global___Annotation] | None = ...,
485
+ next_page_token: builtins.str = ...,
486
+ ) -> None: ...
487
+ def ClearField(self, field_name: typing.Literal["annotations", b"annotations", "next_page_token", b"next_page_token"]) -> None: ...
488
+
489
+ global___ListAnnotationsResponse = ListAnnotationsResponse
490
+
491
+ @typing.final
492
+ class UpdateAnnotationRequest(google.protobuf.message.Message):
493
+ """The request for a call to `AnnotationService_UpdateAnnotation` to update an annotation."""
494
+
495
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
496
+
497
+ ANNOTATION_FIELD_NUMBER: builtins.int
498
+ UPDATE_MASK_FIELD_NUMBER: builtins.int
499
+ @property
500
+ def annotation(self) -> global___Annotation:
501
+ """The annotation to update."""
502
+
503
+ @property
504
+ def update_mask(self) -> google.protobuf.field_mask_pb2.FieldMask:
505
+ """The list of fields to be updated. The fields available to be updated are `name`, `description`, `start_time`,
506
+ `end_time`, `assigned_to_user_id`, `state`, and `tags`.
507
+ Important Note: if `tags` is specified in the update mask and `annotation.tags` is an empty list then all associated tags on the annotation
508
+ will be removed.
509
+ """
510
+
511
+ def __init__(
512
+ self,
513
+ *,
514
+ annotation: global___Annotation | None = ...,
515
+ update_mask: google.protobuf.field_mask_pb2.FieldMask | None = ...,
516
+ ) -> None: ...
517
+ def HasField(self, field_name: typing.Literal["annotation", b"annotation", "update_mask", b"update_mask"]) -> builtins.bool: ...
518
+ def ClearField(self, field_name: typing.Literal["annotation", b"annotation", "update_mask", b"update_mask"]) -> None: ...
519
+
520
+ global___UpdateAnnotationRequest = UpdateAnnotationRequest
521
+
522
+ @typing.final
523
+ class UpdateAnnotationResponse(google.protobuf.message.Message):
524
+ """The response of a call to `AnnotationService_UpdateAnnotation`."""
525
+
526
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
527
+
528
+ ANNOTATION_FIELD_NUMBER: builtins.int
529
+ @property
530
+ def annotation(self) -> global___Annotation: ...
531
+ def __init__(
532
+ self,
533
+ *,
534
+ annotation: global___Annotation | None = ...,
535
+ ) -> None: ...
536
+ def HasField(self, field_name: typing.Literal["annotation", b"annotation"]) -> builtins.bool: ...
537
+ def ClearField(self, field_name: typing.Literal["annotation", b"annotation"]) -> None: ...
538
+
539
+ global___UpdateAnnotationResponse = UpdateAnnotationResponse