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,562 @@
1
+ """
2
+ @generated by mypy-protobuf. Do not edit manually!
3
+ isort:skip_file
4
+ """
5
+
6
+ import builtins
7
+ import collections.abc
8
+ import google.protobuf.descriptor
9
+ import google.protobuf.internal.containers
10
+ import google.protobuf.internal.enum_type_wrapper
11
+ import google.protobuf.message
12
+ import google.protobuf.timestamp_pb2
13
+ import sys
14
+ import typing
15
+
16
+ if sys.version_info >= (3, 10):
17
+ import typing as typing_extensions
18
+ else:
19
+ import typing_extensions
20
+
21
+ DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
22
+
23
+ class _ReportRuleStatus:
24
+ ValueType = typing.NewType("ValueType", builtins.int)
25
+ V: typing_extensions.TypeAlias = ValueType
26
+
27
+ class _ReportRuleStatusEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_ReportRuleStatus.ValueType], builtins.type):
28
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
29
+ REPORT_RULE_STATUS_UNSPECIFIED: _ReportRuleStatus.ValueType # 0
30
+ REPORT_RULE_STATUS_CREATED: _ReportRuleStatus.ValueType # 1
31
+ REPORT_RULE_STATUS_LIVE: _ReportRuleStatus.ValueType # 2
32
+ REPORT_RULE_STATUS_FINISHED: _ReportRuleStatus.ValueType # 3
33
+ REPORT_RULE_STATUS_FAILED: _ReportRuleStatus.ValueType # 4
34
+ REPORT_RULE_STATUS_CANCELED: _ReportRuleStatus.ValueType # 5
35
+
36
+ class ReportRuleStatus(_ReportRuleStatus, metaclass=_ReportRuleStatusEnumTypeWrapper): ...
37
+
38
+ REPORT_RULE_STATUS_UNSPECIFIED: ReportRuleStatus.ValueType # 0
39
+ REPORT_RULE_STATUS_CREATED: ReportRuleStatus.ValueType # 1
40
+ REPORT_RULE_STATUS_LIVE: ReportRuleStatus.ValueType # 2
41
+ REPORT_RULE_STATUS_FINISHED: ReportRuleStatus.ValueType # 3
42
+ REPORT_RULE_STATUS_FAILED: ReportRuleStatus.ValueType # 4
43
+ REPORT_RULE_STATUS_CANCELED: ReportRuleStatus.ValueType # 5
44
+ global___ReportRuleStatus = ReportRuleStatus
45
+
46
+ @typing.final
47
+ class Report(google.protobuf.message.Message):
48
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
49
+
50
+ REPORT_ID_FIELD_NUMBER: builtins.int
51
+ REPORT_TEMPLATE_ID_FIELD_NUMBER: builtins.int
52
+ RUN_ID_FIELD_NUMBER: builtins.int
53
+ ORGANIZATION_ID_FIELD_NUMBER: builtins.int
54
+ NAME_FIELD_NUMBER: builtins.int
55
+ DESCRIPTION_FIELD_NUMBER: builtins.int
56
+ CREATED_BY_USER_ID_FIELD_NUMBER: builtins.int
57
+ MODIFIED_BY_USER_ID_FIELD_NUMBER: builtins.int
58
+ CREATED_DATE_FIELD_NUMBER: builtins.int
59
+ MODIFIED_DATE_FIELD_NUMBER: builtins.int
60
+ SUMMARIES_FIELD_NUMBER: builtins.int
61
+ TAGS_FIELD_NUMBER: builtins.int
62
+ RERUN_FROM_REPORT_ID_FIELD_NUMBER: builtins.int
63
+ report_id: builtins.str
64
+ report_template_id: builtins.str
65
+ run_id: builtins.str
66
+ organization_id: builtins.str
67
+ name: builtins.str
68
+ description: builtins.str
69
+ created_by_user_id: builtins.str
70
+ modified_by_user_id: builtins.str
71
+ rerun_from_report_id: builtins.str
72
+ @property
73
+ def created_date(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
74
+ @property
75
+ def modified_date(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
76
+ @property
77
+ def summaries(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ReportRuleSummary]: ...
78
+ @property
79
+ def tags(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ReportTag]: ...
80
+ def __init__(
81
+ self,
82
+ *,
83
+ report_id: builtins.str = ...,
84
+ report_template_id: builtins.str = ...,
85
+ run_id: builtins.str = ...,
86
+ organization_id: builtins.str = ...,
87
+ name: builtins.str = ...,
88
+ description: builtins.str | None = ...,
89
+ created_by_user_id: builtins.str = ...,
90
+ modified_by_user_id: builtins.str = ...,
91
+ created_date: google.protobuf.timestamp_pb2.Timestamp | None = ...,
92
+ modified_date: google.protobuf.timestamp_pb2.Timestamp | None = ...,
93
+ summaries: collections.abc.Iterable[global___ReportRuleSummary] | None = ...,
94
+ tags: collections.abc.Iterable[global___ReportTag] | None = ...,
95
+ rerun_from_report_id: builtins.str | None = ...,
96
+ ) -> None: ...
97
+ def HasField(self, field_name: typing.Literal["_description", b"_description", "_rerun_from_report_id", b"_rerun_from_report_id", "created_date", b"created_date", "description", b"description", "modified_date", b"modified_date", "rerun_from_report_id", b"rerun_from_report_id"]) -> builtins.bool: ...
98
+ def ClearField(self, field_name: typing.Literal["_description", b"_description", "_rerun_from_report_id", b"_rerun_from_report_id", "created_by_user_id", b"created_by_user_id", "created_date", b"created_date", "description", b"description", "modified_by_user_id", b"modified_by_user_id", "modified_date", b"modified_date", "name", b"name", "organization_id", b"organization_id", "report_id", b"report_id", "report_template_id", b"report_template_id", "rerun_from_report_id", b"rerun_from_report_id", "run_id", b"run_id", "summaries", b"summaries", "tags", b"tags"]) -> None: ...
99
+ @typing.overload
100
+ def WhichOneof(self, oneof_group: typing.Literal["_description", b"_description"]) -> typing.Literal["description"] | None: ...
101
+ @typing.overload
102
+ def WhichOneof(self, oneof_group: typing.Literal["_rerun_from_report_id", b"_rerun_from_report_id"]) -> typing.Literal["rerun_from_report_id"] | None: ...
103
+
104
+ global___Report = Report
105
+
106
+ @typing.final
107
+ class ReportRuleSummary(google.protobuf.message.Message):
108
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
109
+
110
+ RULE_ID_FIELD_NUMBER: builtins.int
111
+ RULE_CLIENT_KEY_FIELD_NUMBER: builtins.int
112
+ RULE_VERSION_ID_FIELD_NUMBER: builtins.int
113
+ RULE_VERSION_NUMBER_FIELD_NUMBER: builtins.int
114
+ REPORT_RULE_VERSION_ID_FIELD_NUMBER: builtins.int
115
+ NUM_OPEN_FIELD_NUMBER: builtins.int
116
+ NUM_FAILED_FIELD_NUMBER: builtins.int
117
+ NUM_PASSED_FIELD_NUMBER: builtins.int
118
+ STATUS_FIELD_NUMBER: builtins.int
119
+ STATUS_DETAILS_FIELD_NUMBER: builtins.int
120
+ CREATED_DATE_FIELD_NUMBER: builtins.int
121
+ MODIFIED_DATE_FIELD_NUMBER: builtins.int
122
+ ASSET_ID_FIELD_NUMBER: builtins.int
123
+ rule_id: builtins.str
124
+ rule_client_key: builtins.str
125
+ rule_version_id: builtins.str
126
+ rule_version_number: builtins.int
127
+ report_rule_version_id: builtins.str
128
+ num_open: builtins.int
129
+ num_failed: builtins.int
130
+ num_passed: builtins.int
131
+ status: global___ReportRuleStatus.ValueType
132
+ asset_id: builtins.str
133
+ @property
134
+ def status_details(self) -> global___ReportRuleStatusDetails: ...
135
+ @property
136
+ def created_date(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
137
+ @property
138
+ def modified_date(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
139
+ def __init__(
140
+ self,
141
+ *,
142
+ rule_id: builtins.str = ...,
143
+ rule_client_key: builtins.str = ...,
144
+ rule_version_id: builtins.str = ...,
145
+ rule_version_number: builtins.int = ...,
146
+ report_rule_version_id: builtins.str = ...,
147
+ num_open: builtins.int = ...,
148
+ num_failed: builtins.int = ...,
149
+ num_passed: builtins.int = ...,
150
+ status: global___ReportRuleStatus.ValueType = ...,
151
+ status_details: global___ReportRuleStatusDetails | None = ...,
152
+ created_date: google.protobuf.timestamp_pb2.Timestamp | None = ...,
153
+ modified_date: google.protobuf.timestamp_pb2.Timestamp | None = ...,
154
+ asset_id: builtins.str = ...,
155
+ ) -> None: ...
156
+ def HasField(self, field_name: typing.Literal["created_date", b"created_date", "modified_date", b"modified_date", "status_details", b"status_details"]) -> builtins.bool: ...
157
+ def ClearField(self, field_name: typing.Literal["asset_id", b"asset_id", "created_date", b"created_date", "modified_date", b"modified_date", "num_failed", b"num_failed", "num_open", b"num_open", "num_passed", b"num_passed", "report_rule_version_id", b"report_rule_version_id", "rule_client_key", b"rule_client_key", "rule_id", b"rule_id", "rule_version_id", b"rule_version_id", "rule_version_number", b"rule_version_number", "status", b"status", "status_details", b"status_details"]) -> None: ...
158
+
159
+ global___ReportRuleSummary = ReportRuleSummary
160
+
161
+ @typing.final
162
+ class ReportTag(google.protobuf.message.Message):
163
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
164
+
165
+ TAG_NAME_FIELD_NUMBER: builtins.int
166
+ tag_name: builtins.str
167
+ def __init__(
168
+ self,
169
+ *,
170
+ tag_name: builtins.str = ...,
171
+ ) -> None: ...
172
+ def ClearField(self, field_name: typing.Literal["tag_name", b"tag_name"]) -> None: ...
173
+
174
+ global___ReportTag = ReportTag
175
+
176
+ @typing.final
177
+ class ReportRuleStatusDetails(google.protobuf.message.Message):
178
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
179
+
180
+ CREATED_FIELD_NUMBER: builtins.int
181
+ LIVE_FIELD_NUMBER: builtins.int
182
+ FINISHED_FIELD_NUMBER: builtins.int
183
+ FAILED_FIELD_NUMBER: builtins.int
184
+ @property
185
+ def created(self) -> global___ReportRuleStatusDetailsCreated: ...
186
+ @property
187
+ def live(self) -> global___ReportRuleStatusDetailsLive: ...
188
+ @property
189
+ def finished(self) -> global___ReportRuleStatusDetailsFinished: ...
190
+ @property
191
+ def failed(self) -> global___ReportRuleStatusDetailsFailed: ...
192
+ def __init__(
193
+ self,
194
+ *,
195
+ created: global___ReportRuleStatusDetailsCreated | None = ...,
196
+ live: global___ReportRuleStatusDetailsLive | None = ...,
197
+ finished: global___ReportRuleStatusDetailsFinished | None = ...,
198
+ failed: global___ReportRuleStatusDetailsFailed | None = ...,
199
+ ) -> None: ...
200
+ def HasField(self, field_name: typing.Literal["created", b"created", "details", b"details", "failed", b"failed", "finished", b"finished", "live", b"live"]) -> builtins.bool: ...
201
+ def ClearField(self, field_name: typing.Literal["created", b"created", "details", b"details", "failed", b"failed", "finished", b"finished", "live", b"live"]) -> None: ...
202
+ def WhichOneof(self, oneof_group: typing.Literal["details", b"details"]) -> typing.Literal["created", "live", "finished", "failed"] | None: ...
203
+
204
+ global___ReportRuleStatusDetails = ReportRuleStatusDetails
205
+
206
+ @typing.final
207
+ class ReportRuleStatusDetailsCreated(google.protobuf.message.Message):
208
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
209
+
210
+ def __init__(
211
+ self,
212
+ ) -> None: ...
213
+
214
+ global___ReportRuleStatusDetailsCreated = ReportRuleStatusDetailsCreated
215
+
216
+ @typing.final
217
+ class ReportRuleStatusDetailsLive(google.protobuf.message.Message):
218
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
219
+
220
+ def __init__(
221
+ self,
222
+ ) -> None: ...
223
+
224
+ global___ReportRuleStatusDetailsLive = ReportRuleStatusDetailsLive
225
+
226
+ @typing.final
227
+ class ReportRuleStatusDetailsFinished(google.protobuf.message.Message):
228
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
229
+
230
+ def __init__(
231
+ self,
232
+ ) -> None: ...
233
+
234
+ global___ReportRuleStatusDetailsFinished = ReportRuleStatusDetailsFinished
235
+
236
+ @typing.final
237
+ class ReportRuleStatusDetailsFailed(google.protobuf.message.Message):
238
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
239
+
240
+ ERROR_MESSAGE_FIELD_NUMBER: builtins.int
241
+ error_message: builtins.str
242
+ def __init__(
243
+ self,
244
+ *,
245
+ error_message: builtins.str = ...,
246
+ ) -> None: ...
247
+ def ClearField(self, field_name: typing.Literal["error_message", b"error_message"]) -> None: ...
248
+
249
+ global___ReportRuleStatusDetailsFailed = ReportRuleStatusDetailsFailed
250
+
251
+ @typing.final
252
+ class CreateReportRequest(google.protobuf.message.Message):
253
+ """The request of a call to `ReportService_CreateReport` to create a report. A report can be created either via a report template
254
+ or an arbitrary report can be constructed depending on the variant of the `request` field.
255
+ """
256
+
257
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
258
+
259
+ REPORT_FROM_REPORT_TEMPLATE_REQUEST_FIELD_NUMBER: builtins.int
260
+ REPORT_FROM_RULES_REQUEST_FIELD_NUMBER: builtins.int
261
+ ORGANIZATION_ID_FIELD_NUMBER: builtins.int
262
+ RUN_ID_FIELD_NUMBER: builtins.int
263
+ NAME_FIELD_NUMBER: builtins.int
264
+ organization_id: builtins.str
265
+ run_id: builtins.str
266
+ name: builtins.str
267
+ """Override the name of the report. If not provided, the name will be generated based on the report template or run."""
268
+ @property
269
+ def report_from_report_template_request(self) -> global___CreateReportFromReportTemplateRequest: ...
270
+ @property
271
+ def report_from_rules_request(self) -> global___CreateReportFromRulesRequest: ...
272
+ def __init__(
273
+ self,
274
+ *,
275
+ report_from_report_template_request: global___CreateReportFromReportTemplateRequest | None = ...,
276
+ report_from_rules_request: global___CreateReportFromRulesRequest | None = ...,
277
+ organization_id: builtins.str = ...,
278
+ run_id: builtins.str = ...,
279
+ name: builtins.str | None = ...,
280
+ ) -> None: ...
281
+ def HasField(self, field_name: typing.Literal["_name", b"_name", "name", b"name", "report_from_report_template_request", b"report_from_report_template_request", "report_from_rules_request", b"report_from_rules_request", "request", b"request"]) -> builtins.bool: ...
282
+ def ClearField(self, field_name: typing.Literal["_name", b"_name", "name", b"name", "organization_id", b"organization_id", "report_from_report_template_request", b"report_from_report_template_request", "report_from_rules_request", b"report_from_rules_request", "request", b"request", "run_id", b"run_id"]) -> None: ...
283
+ @typing.overload
284
+ def WhichOneof(self, oneof_group: typing.Literal["_name", b"_name"]) -> typing.Literal["name"] | None: ...
285
+ @typing.overload
286
+ def WhichOneof(self, oneof_group: typing.Literal["request", b"request"]) -> typing.Literal["report_from_report_template_request", "report_from_rules_request"] | None: ...
287
+
288
+ global___CreateReportRequest = CreateReportRequest
289
+
290
+ @typing.final
291
+ class CreateReportResponse(google.protobuf.message.Message):
292
+ """The response of a call to `ReportService_CreateReport` to create a report."""
293
+
294
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
295
+
296
+ REPORT_FIELD_NUMBER: builtins.int
297
+ @property
298
+ def report(self) -> global___Report: ...
299
+ def __init__(
300
+ self,
301
+ *,
302
+ report: global___Report | None = ...,
303
+ ) -> None: ...
304
+ def HasField(self, field_name: typing.Literal["report", b"report"]) -> builtins.bool: ...
305
+ def ClearField(self, field_name: typing.Literal["report", b"report"]) -> None: ...
306
+
307
+ global___CreateReportResponse = CreateReportResponse
308
+
309
+ @typing.final
310
+ class CreateReportFromReportTemplateRequest(google.protobuf.message.Message):
311
+ """Used to create a report from a report template."""
312
+
313
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
314
+
315
+ REPORT_TEMPLATE_ID_FIELD_NUMBER: builtins.int
316
+ report_template_id: builtins.str
317
+ def __init__(
318
+ self,
319
+ *,
320
+ report_template_id: builtins.str = ...,
321
+ ) -> None: ...
322
+ def ClearField(self, field_name: typing.Literal["report_template_id", b"report_template_id"]) -> None: ...
323
+
324
+ global___CreateReportFromReportTemplateRequest = CreateReportFromReportTemplateRequest
325
+
326
+ @typing.final
327
+ class CreateReportFromRulesRequest(google.protobuf.message.Message):
328
+ """Used to construct an arbitrary report for an arbitrary set of rules. Rules can be specified either by rule ID
329
+ or client key based on the variant used in the `rule_identifiers` field.
330
+ """
331
+
332
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
333
+
334
+ NAME_FIELD_NUMBER: builtins.int
335
+ DESCRIPTION_FIELD_NUMBER: builtins.int
336
+ TAG_NAMES_FIELD_NUMBER: builtins.int
337
+ RULE_IDS_FIELD_NUMBER: builtins.int
338
+ RULE_CLIENT_KEYS_FIELD_NUMBER: builtins.int
339
+ name: builtins.str
340
+ description: builtins.str
341
+ @property
342
+ def tag_names(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
343
+ @property
344
+ def rule_ids(self) -> global___CreateReportRequestRuleIds: ...
345
+ @property
346
+ def rule_client_keys(self) -> global___CreateReportRequestClientKeys: ...
347
+ def __init__(
348
+ self,
349
+ *,
350
+ name: builtins.str = ...,
351
+ description: builtins.str | None = ...,
352
+ tag_names: collections.abc.Iterable[builtins.str] | None = ...,
353
+ rule_ids: global___CreateReportRequestRuleIds | None = ...,
354
+ rule_client_keys: global___CreateReportRequestClientKeys | None = ...,
355
+ ) -> None: ...
356
+ def HasField(self, field_name: typing.Literal["_description", b"_description", "description", b"description", "rule_client_keys", b"rule_client_keys", "rule_identifiers", b"rule_identifiers", "rule_ids", b"rule_ids"]) -> builtins.bool: ...
357
+ def ClearField(self, field_name: typing.Literal["_description", b"_description", "description", b"description", "name", b"name", "rule_client_keys", b"rule_client_keys", "rule_identifiers", b"rule_identifiers", "rule_ids", b"rule_ids", "tag_names", b"tag_names"]) -> None: ...
358
+ @typing.overload
359
+ def WhichOneof(self, oneof_group: typing.Literal["_description", b"_description"]) -> typing.Literal["description"] | None: ...
360
+ @typing.overload
361
+ def WhichOneof(self, oneof_group: typing.Literal["rule_identifiers", b"rule_identifiers"]) -> typing.Literal["rule_ids", "rule_client_keys"] | None: ...
362
+
363
+ global___CreateReportFromRulesRequest = CreateReportFromRulesRequest
364
+
365
+ @typing.final
366
+ class CreateReportRequestRuleIds(google.protobuf.message.Message):
367
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
368
+
369
+ RULE_IDS_FIELD_NUMBER: builtins.int
370
+ @property
371
+ def rule_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
372
+ def __init__(
373
+ self,
374
+ *,
375
+ rule_ids: collections.abc.Iterable[builtins.str] | None = ...,
376
+ ) -> None: ...
377
+ def ClearField(self, field_name: typing.Literal["rule_ids", b"rule_ids"]) -> None: ...
378
+
379
+ global___CreateReportRequestRuleIds = CreateReportRequestRuleIds
380
+
381
+ @typing.final
382
+ class CreateReportRequestClientKeys(google.protobuf.message.Message):
383
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
384
+
385
+ RULE_CLIENT_KEYS_FIELD_NUMBER: builtins.int
386
+ @property
387
+ def rule_client_keys(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
388
+ def __init__(
389
+ self,
390
+ *,
391
+ rule_client_keys: collections.abc.Iterable[builtins.str] | None = ...,
392
+ ) -> None: ...
393
+ def ClearField(self, field_name: typing.Literal["rule_client_keys", b"rule_client_keys"]) -> None: ...
394
+
395
+ global___CreateReportRequestClientKeys = CreateReportRequestClientKeys
396
+
397
+ @typing.final
398
+ class GetReportRequest(google.protobuf.message.Message):
399
+ """The request for a call to `ReportService_GetReport` to retrieve a report template."""
400
+
401
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
402
+
403
+ REPORT_ID_FIELD_NUMBER: builtins.int
404
+ report_id: builtins.str
405
+ def __init__(
406
+ self,
407
+ *,
408
+ report_id: builtins.str = ...,
409
+ ) -> None: ...
410
+ def ClearField(self, field_name: typing.Literal["report_id", b"report_id"]) -> None: ...
411
+
412
+ global___GetReportRequest = GetReportRequest
413
+
414
+ @typing.final
415
+ class GetReportResponse(google.protobuf.message.Message):
416
+ """The request of a call to `ReportService_GetReport` to retrieve a report template."""
417
+
418
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
419
+
420
+ REPORT_FIELD_NUMBER: builtins.int
421
+ @property
422
+ def report(self) -> global___Report: ...
423
+ def __init__(
424
+ self,
425
+ *,
426
+ report: global___Report | None = ...,
427
+ ) -> None: ...
428
+ def HasField(self, field_name: typing.Literal["report", b"report"]) -> builtins.bool: ...
429
+ def ClearField(self, field_name: typing.Literal["report", b"report"]) -> None: ...
430
+
431
+ global___GetReportResponse = GetReportResponse
432
+
433
+ @typing.final
434
+ class ListReportsRequest(google.protobuf.message.Message):
435
+ """The request for a call to `ReportService_ListReports` to retrieve report."""
436
+
437
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
438
+
439
+ PAGE_SIZE_FIELD_NUMBER: builtins.int
440
+ PAGE_TOKEN_FIELD_NUMBER: builtins.int
441
+ FILTER_FIELD_NUMBER: builtins.int
442
+ ORGANIZATION_ID_FIELD_NUMBER: builtins.int
443
+ ORDER_BY_FIELD_NUMBER: builtins.int
444
+ page_size: builtins.int
445
+ """The maximum number of reports to return. The service may return fewer than this value.
446
+ If unspecified, at most 50 reports will be returned. The maximum value is 1000; values above
447
+ 1000 will be coerced to 1000. Optional.
448
+ """
449
+ page_token: builtins.str
450
+ """A page token, received from a previous `ListReports` call.
451
+ Provide this to retrieve the subsequent page.
452
+ When paginating, all other parameters provided to `ListReports` must match
453
+ the call that provided the page token. Optional.
454
+ """
455
+ filter: builtins.str
456
+ """A [Common Expression Language (CEL)](https://github.com/google/cel-spec) filter string.
457
+ Available fields to filter by are `report_id`, `report_template_id`, `tag_name`, `name`, and `run_id`.
458
+ 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).
459
+ For more information about the fields used for filtering, please refer to [this definition](/api/grpc/protocol_buffers/reports#report). Optional.
460
+ """
461
+ organization_id: builtins.str
462
+ """This field is only required if your user belongs to multiple organizations."""
463
+ order_by: builtins.str
464
+ """How to order the retrieved reports. Formatted as a comma-separated string i.e. "<field_name>[ desc],...".
465
+ Available fields to order_by are `created_date` and `modified_date`.
466
+ If left empty, items are ordered by `created_date` in ascending order (oldest-first).
467
+ For more information about the format of this field, read [this](https://google.aip.dev/132#ordering)
468
+ Example: "created_date desc,modified_date"
469
+ """
470
+ def __init__(
471
+ self,
472
+ *,
473
+ page_size: builtins.int = ...,
474
+ page_token: builtins.str = ...,
475
+ filter: builtins.str = ...,
476
+ organization_id: builtins.str = ...,
477
+ order_by: builtins.str = ...,
478
+ ) -> None: ...
479
+ 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: ...
480
+
481
+ global___ListReportsRequest = ListReportsRequest
482
+
483
+ @typing.final
484
+ class ListReportsResponse(google.protobuf.message.Message):
485
+ """The response of a call to `ReportService_ListReportsResponse`."""
486
+
487
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
488
+
489
+ REPORTS_FIELD_NUMBER: builtins.int
490
+ NEXT_PAGE_TOKEN_FIELD_NUMBER: builtins.int
491
+ next_page_token: builtins.str
492
+ @property
493
+ def reports(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Report]: ...
494
+ def __init__(
495
+ self,
496
+ *,
497
+ reports: collections.abc.Iterable[global___Report] | None = ...,
498
+ next_page_token: builtins.str = ...,
499
+ ) -> None: ...
500
+ def ClearField(self, field_name: typing.Literal["next_page_token", b"next_page_token", "reports", b"reports"]) -> None: ...
501
+
502
+ global___ListReportsResponse = ListReportsResponse
503
+
504
+ @typing.final
505
+ class RerunReportRequest(google.protobuf.message.Message):
506
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
507
+
508
+ REPORT_ID_FIELD_NUMBER: builtins.int
509
+ report_id: builtins.str
510
+ def __init__(
511
+ self,
512
+ *,
513
+ report_id: builtins.str = ...,
514
+ ) -> None: ...
515
+ def ClearField(self, field_name: typing.Literal["report_id", b"report_id"]) -> None: ...
516
+
517
+ global___RerunReportRequest = RerunReportRequest
518
+
519
+ @typing.final
520
+ class RerunReportResponse(google.protobuf.message.Message):
521
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
522
+
523
+ JOB_ID_FIELD_NUMBER: builtins.int
524
+ REPORT_ID_FIELD_NUMBER: builtins.int
525
+ job_id: builtins.str
526
+ report_id: builtins.str
527
+ def __init__(
528
+ self,
529
+ *,
530
+ job_id: builtins.str = ...,
531
+ report_id: builtins.str = ...,
532
+ ) -> None: ...
533
+ def ClearField(self, field_name: typing.Literal["job_id", b"job_id", "report_id", b"report_id"]) -> None: ...
534
+
535
+ global___RerunReportResponse = RerunReportResponse
536
+
537
+ @typing.final
538
+ class CancelReportRequest(google.protobuf.message.Message):
539
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
540
+
541
+ REPORT_ID_FIELD_NUMBER: builtins.int
542
+ report_id: builtins.str
543
+ def __init__(
544
+ self,
545
+ *,
546
+ report_id: builtins.str = ...,
547
+ ) -> None: ...
548
+ def ClearField(self, field_name: typing.Literal["report_id", b"report_id"]) -> None: ...
549
+
550
+ global___CancelReportRequest = CancelReportRequest
551
+
552
+ @typing.final
553
+ class CancelReportResponse(google.protobuf.message.Message):
554
+ """no response fields"""
555
+
556
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
557
+
558
+ def __init__(
559
+ self,
560
+ ) -> None: ...
561
+
562
+ global___CancelReportResponse = CancelReportResponse