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,69 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: sift/channel_schemas/v1/channel_schemas.proto
4
+ # Protobuf Python Version: 5.26.1
5
+ """Generated protocol buffer code."""
6
+ from google.protobuf import descriptor as _descriptor
7
+ from google.protobuf import descriptor_pool as _descriptor_pool
8
+ from google.protobuf import symbol_database as _symbol_database
9
+ from google.protobuf.internal import builder as _builder
10
+ # @@protoc_insertion_point(imports)
11
+
12
+ _sym_db = _symbol_database.Default()
13
+
14
+
15
+ from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
16
+ from google.api import field_behavior_pb2 as google_dot_api_dot_field__behavior__pb2
17
+ from protoc_gen_openapiv2.options import annotations_pb2 as protoc__gen__openapiv2_dot_options_dot_annotations__pb2
18
+ from sift.common.type.v1 import channel_bit_field_element_pb2 as sift_dot_common_dot_type_dot_v1_dot_channel__bit__field__element__pb2
19
+ from sift.common.type.v1 import channel_data_type_pb2 as sift_dot_common_dot_type_dot_v1_dot_channel__data__type__pb2
20
+ from sift.common.type.v1 import channel_enum_type_pb2 as sift_dot_common_dot_type_dot_v1_dot_channel__enum__type__pb2
21
+
22
+
23
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n-sift/channel_schemas/v1/channel_schemas.proto\x12\x17sift.channel_schemas.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a.protoc-gen-openapiv2/options/annotations.proto\x1a\x33sift/common/type/v1/channel_bit_field_element.proto\x1a+sift/common/type/v1/channel_data_type.proto\x1a+sift/common/type/v1/channel_enum_type.proto\"\xbb\x03\n\x1a\x43reateChannelSchemaRequest\x12!\n\tcomponent\x18\x01 \x01(\tB\x03\xe0\x41\x01R\tcomponent\x12\x1d\n\x07\x63hannel\x18\x02 \x01(\tB\x03\xe0\x41\x02R\x07\x63hannel\x12\x17\n\x04unit\x18\x03 \x01(\tB\x03\xe0\x41\x01R\x04unit\x12\x46\n\tdata_type\x18\x04 \x01(\x0e\x32$.sift.common.type.v1.ChannelDataTypeB\x03\xe0\x41\x02R\x08\x64\x61taType\x12H\n\nenum_types\x18\x05 \x03(\x0b\x32$.sift.common.type.v1.ChannelEnumTypeB\x03\xe0\x41\x01R\tenumTypes\x12^\n\x12\x62it_field_elements\x18\x06 \x03(\x0b\x32+.sift.common.type.v1.ChannelBitFieldElementB\x03\xe0\x41\x01R\x10\x62itFieldElements\x12\"\n\nasset_name\x18\x07 \x01(\tB\x03\xe0\x41\x02R\tassetName\x12,\n\x0forganization_id\x18\x08 \x01(\tB\x03\xe0\x41\x01R\x0eorganizationId\"\x1d\n\x1b\x43reateChannelSchemaResponse\"\xca\x01\n BatchCreateChannelSchemasRequest\x12T\n\x08requests\x18\x01 \x03(\x0b\x32\x33.sift.channel_schemas.v1.CreateChannelSchemaRequestB\x03\xe0\x41\x02R\x08requests\x12\"\n\nasset_name\x18\x02 \x01(\tB\x03\xe0\x41\x01R\tassetName\x12,\n\x0forganization_id\x18\x03 \x01(\tB\x03\xe0\x41\x01R\x0eorganizationId\"#\n!BatchCreateChannelSchemasResponse2\xb5\x04\n\x14\x43hannelSchemaService\x12\xd5\x01\n\x13\x43reateChannelSchema\x12\x33.sift.channel_schemas.v1.CreateChannelSchemaRequest\x1a\x34.sift.channel_schemas.v1.CreateChannelSchemaResponse\"S\x92\x41.\x12\x13\x43reateChannelSchema\x1a\x17\x43reate a channel schema\x82\xd3\xe4\x93\x02\x1c\"\x17/api/v1/channel-schemas:\x01*\x12\x84\x02\n\x19\x42\x61tchCreateChannelSchemas\x12\x39.sift.channel_schemas.v1.BatchCreateChannelSchemasRequest\x1a:.sift.channel_schemas.v1.BatchCreateChannelSchemasResponse\"p\x92\x41>\x12\x19\x42\x61tchCreateChannelSchemas\x1a!Create a batch of channel schemas\x82\xd3\xe4\x93\x02)\"$/api/v1/channel-schemas:batch-create:\x01*\x1a>\x92\x41;\x12\x39Service to programmatically interact with channel schemasB\xc9\x01\n\x1b\x63om.sift.channel_schemas.v1B\x13\x43hannelSchemasProtoP\x01\xa2\x02\x03SCX\xaa\x02\x16Sift.ChannelSchemas.V1\xca\x02\x16Sift\\ChannelSchemas\\V1\xe2\x02\"Sift\\ChannelSchemas\\V1\\GPBMetadata\xea\x02\x18Sift::ChannelSchemas::V1\x92\x41\x1a\x12\x18\n\x16\x43hannel Schema Serviceb\x06proto3')
24
+
25
+ _globals = globals()
26
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
27
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'sift.channel_schemas.v1.channel_schemas_pb2', _globals)
28
+ if not _descriptor._USE_C_DESCRIPTORS:
29
+ _globals['DESCRIPTOR']._loaded_options = None
30
+ _globals['DESCRIPTOR']._serialized_options = b'\n\033com.sift.channel_schemas.v1B\023ChannelSchemasProtoP\001\242\002\003SCX\252\002\026Sift.ChannelSchemas.V1\312\002\026Sift\\ChannelSchemas\\V1\342\002\"Sift\\ChannelSchemas\\V1\\GPBMetadata\352\002\030Sift::ChannelSchemas::V1\222A\032\022\030\n\026Channel Schema Service'
31
+ _globals['_CREATECHANNELSCHEMAREQUEST'].fields_by_name['component']._loaded_options = None
32
+ _globals['_CREATECHANNELSCHEMAREQUEST'].fields_by_name['component']._serialized_options = b'\340A\001'
33
+ _globals['_CREATECHANNELSCHEMAREQUEST'].fields_by_name['channel']._loaded_options = None
34
+ _globals['_CREATECHANNELSCHEMAREQUEST'].fields_by_name['channel']._serialized_options = b'\340A\002'
35
+ _globals['_CREATECHANNELSCHEMAREQUEST'].fields_by_name['unit']._loaded_options = None
36
+ _globals['_CREATECHANNELSCHEMAREQUEST'].fields_by_name['unit']._serialized_options = b'\340A\001'
37
+ _globals['_CREATECHANNELSCHEMAREQUEST'].fields_by_name['data_type']._loaded_options = None
38
+ _globals['_CREATECHANNELSCHEMAREQUEST'].fields_by_name['data_type']._serialized_options = b'\340A\002'
39
+ _globals['_CREATECHANNELSCHEMAREQUEST'].fields_by_name['enum_types']._loaded_options = None
40
+ _globals['_CREATECHANNELSCHEMAREQUEST'].fields_by_name['enum_types']._serialized_options = b'\340A\001'
41
+ _globals['_CREATECHANNELSCHEMAREQUEST'].fields_by_name['bit_field_elements']._loaded_options = None
42
+ _globals['_CREATECHANNELSCHEMAREQUEST'].fields_by_name['bit_field_elements']._serialized_options = b'\340A\001'
43
+ _globals['_CREATECHANNELSCHEMAREQUEST'].fields_by_name['asset_name']._loaded_options = None
44
+ _globals['_CREATECHANNELSCHEMAREQUEST'].fields_by_name['asset_name']._serialized_options = b'\340A\002'
45
+ _globals['_CREATECHANNELSCHEMAREQUEST'].fields_by_name['organization_id']._loaded_options = None
46
+ _globals['_CREATECHANNELSCHEMAREQUEST'].fields_by_name['organization_id']._serialized_options = b'\340A\001'
47
+ _globals['_BATCHCREATECHANNELSCHEMASREQUEST'].fields_by_name['requests']._loaded_options = None
48
+ _globals['_BATCHCREATECHANNELSCHEMASREQUEST'].fields_by_name['requests']._serialized_options = b'\340A\002'
49
+ _globals['_BATCHCREATECHANNELSCHEMASREQUEST'].fields_by_name['asset_name']._loaded_options = None
50
+ _globals['_BATCHCREATECHANNELSCHEMASREQUEST'].fields_by_name['asset_name']._serialized_options = b'\340A\001'
51
+ _globals['_BATCHCREATECHANNELSCHEMASREQUEST'].fields_by_name['organization_id']._loaded_options = None
52
+ _globals['_BATCHCREATECHANNELSCHEMASREQUEST'].fields_by_name['organization_id']._serialized_options = b'\340A\001'
53
+ _globals['_CHANNELSCHEMASERVICE']._loaded_options = None
54
+ _globals['_CHANNELSCHEMASERVICE']._serialized_options = b'\222A;\0229Service to programmatically interact with channel schemas'
55
+ _globals['_CHANNELSCHEMASERVICE'].methods_by_name['CreateChannelSchema']._loaded_options = None
56
+ _globals['_CHANNELSCHEMASERVICE'].methods_by_name['CreateChannelSchema']._serialized_options = b'\222A.\022\023CreateChannelSchema\032\027Create a channel schema\202\323\344\223\002\034\"\027/api/v1/channel-schemas:\001*'
57
+ _globals['_CHANNELSCHEMASERVICE'].methods_by_name['BatchCreateChannelSchemas']._loaded_options = None
58
+ _globals['_CHANNELSCHEMASERVICE'].methods_by_name['BatchCreateChannelSchemas']._serialized_options = b'\222A>\022\031BatchCreateChannelSchemas\032!Create a batch of channel schemas\202\323\344\223\002)\"$/api/v1/channel-schemas:batch-create:\001*'
59
+ _globals['_CREATECHANNELSCHEMAREQUEST']._serialized_start=329
60
+ _globals['_CREATECHANNELSCHEMAREQUEST']._serialized_end=772
61
+ _globals['_CREATECHANNELSCHEMARESPONSE']._serialized_start=774
62
+ _globals['_CREATECHANNELSCHEMARESPONSE']._serialized_end=803
63
+ _globals['_BATCHCREATECHANNELSCHEMASREQUEST']._serialized_start=806
64
+ _globals['_BATCHCREATECHANNELSCHEMASREQUEST']._serialized_end=1008
65
+ _globals['_BATCHCREATECHANNELSCHEMASRESPONSE']._serialized_start=1010
66
+ _globals['_BATCHCREATECHANNELSCHEMASRESPONSE']._serialized_end=1045
67
+ _globals['_CHANNELSCHEMASERVICE']._serialized_start=1048
68
+ _globals['_CHANNELSCHEMASERVICE']._serialized_end=1613
69
+ # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,117 @@
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.message
11
+ import sift.common.type.v1.channel_bit_field_element_pb2
12
+ import sift.common.type.v1.channel_data_type_pb2
13
+ import sift.common.type.v1.channel_enum_type_pb2
14
+ import typing
15
+
16
+ DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
17
+
18
+ @typing.final
19
+ class CreateChannelSchemaRequest(google.protobuf.message.Message):
20
+ """The request for a call to `ChannelSchemaService_CreateChannelSchema`."""
21
+
22
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
23
+
24
+ COMPONENT_FIELD_NUMBER: builtins.int
25
+ CHANNEL_FIELD_NUMBER: builtins.int
26
+ UNIT_FIELD_NUMBER: builtins.int
27
+ DATA_TYPE_FIELD_NUMBER: builtins.int
28
+ ENUM_TYPES_FIELD_NUMBER: builtins.int
29
+ BIT_FIELD_ELEMENTS_FIELD_NUMBER: builtins.int
30
+ ASSET_NAME_FIELD_NUMBER: builtins.int
31
+ ORGANIZATION_ID_FIELD_NUMBER: builtins.int
32
+ component: builtins.str
33
+ """The name of the component (case-insensitive)."""
34
+ channel: builtins.str
35
+ """The name of the channel (case-insensitive)."""
36
+ unit: builtins.str
37
+ data_type: sift.common.type.v1.channel_data_type_pb2.ChannelDataType.ValueType
38
+ asset_name: builtins.str
39
+ """The name of the asset (case-insensitive)."""
40
+ organization_id: builtins.str
41
+ """This field is optional if the caller belongs to a single organization."""
42
+ @property
43
+ def enum_types(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[sift.common.type.v1.channel_enum_type_pb2.ChannelEnumType]: ...
44
+ @property
45
+ def bit_field_elements(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[sift.common.type.v1.channel_bit_field_element_pb2.ChannelBitFieldElement]: ...
46
+ def __init__(
47
+ self,
48
+ *,
49
+ component: builtins.str = ...,
50
+ channel: builtins.str = ...,
51
+ unit: builtins.str = ...,
52
+ data_type: sift.common.type.v1.channel_data_type_pb2.ChannelDataType.ValueType = ...,
53
+ enum_types: collections.abc.Iterable[sift.common.type.v1.channel_enum_type_pb2.ChannelEnumType] | None = ...,
54
+ bit_field_elements: collections.abc.Iterable[sift.common.type.v1.channel_bit_field_element_pb2.ChannelBitFieldElement] | None = ...,
55
+ asset_name: builtins.str = ...,
56
+ organization_id: builtins.str = ...,
57
+ ) -> None: ...
58
+ def ClearField(self, field_name: typing.Literal["asset_name", b"asset_name", "bit_field_elements", b"bit_field_elements", "channel", b"channel", "component", b"component", "data_type", b"data_type", "enum_types", b"enum_types", "organization_id", b"organization_id", "unit", b"unit"]) -> None: ...
59
+
60
+ global___CreateChannelSchemaRequest = CreateChannelSchemaRequest
61
+
62
+ @typing.final
63
+ class CreateChannelSchemaResponse(google.protobuf.message.Message):
64
+ """The response of a call to `ChannelSchemaService_CreateChannelSchema`."""
65
+
66
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
67
+
68
+ def __init__(
69
+ self,
70
+ ) -> None: ...
71
+
72
+ global___CreateChannelSchemaResponse = CreateChannelSchemaResponse
73
+
74
+ @typing.final
75
+ class BatchCreateChannelSchemasRequest(google.protobuf.message.Message):
76
+ """The request for a call to `ChannelSchemaService_BatchCreateChannelSchemas`."""
77
+
78
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
79
+
80
+ REQUESTS_FIELD_NUMBER: builtins.int
81
+ ASSET_NAME_FIELD_NUMBER: builtins.int
82
+ ORGANIZATION_ID_FIELD_NUMBER: builtins.int
83
+ asset_name: builtins.str
84
+ """The asset to which the channel schemas belong (case-insensitive).
85
+ If this field, and any of the child requests specify an asset, the assets must match.
86
+ """
87
+ organization_id: builtins.str
88
+ """The organization to which the channel schemas belong.
89
+ If this field, and any of the child requests specify an organization_id, the organization_ids must match.
90
+ This field is optional if the caller belongs to a single organization.
91
+ """
92
+ @property
93
+ def requests(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___CreateChannelSchemaRequest]:
94
+ """Limit of 1000 channels schemas per batch"""
95
+
96
+ def __init__(
97
+ self,
98
+ *,
99
+ requests: collections.abc.Iterable[global___CreateChannelSchemaRequest] | None = ...,
100
+ asset_name: builtins.str = ...,
101
+ organization_id: builtins.str = ...,
102
+ ) -> None: ...
103
+ def ClearField(self, field_name: typing.Literal["asset_name", b"asset_name", "organization_id", b"organization_id", "requests", b"requests"]) -> None: ...
104
+
105
+ global___BatchCreateChannelSchemasRequest = BatchCreateChannelSchemasRequest
106
+
107
+ @typing.final
108
+ class BatchCreateChannelSchemasResponse(google.protobuf.message.Message):
109
+ """The response of a call to `ChannelSchemaService_BatchCreateChannelSchemas`."""
110
+
111
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
112
+
113
+ def __init__(
114
+ self,
115
+ ) -> None: ...
116
+
117
+ global___BatchCreateChannelSchemasResponse = BatchCreateChannelSchemasResponse
@@ -0,0 +1,101 @@
1
+ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
2
+ """Client and server classes corresponding to protobuf-defined services."""
3
+ import grpc
4
+
5
+ from sift.channel_schemas.v1 import channel_schemas_pb2 as sift_dot_channel__schemas_dot_v1_dot_channel__schemas__pb2
6
+
7
+
8
+ class ChannelSchemaServiceStub(object):
9
+ """Missing associated documentation comment in .proto file."""
10
+
11
+ def __init__(self, channel):
12
+ """Constructor.
13
+
14
+ Args:
15
+ channel: A grpc.Channel.
16
+ """
17
+ self.CreateChannelSchema = channel.unary_unary(
18
+ '/sift.channel_schemas.v1.ChannelSchemaService/CreateChannelSchema',
19
+ request_serializer=sift_dot_channel__schemas_dot_v1_dot_channel__schemas__pb2.CreateChannelSchemaRequest.SerializeToString,
20
+ response_deserializer=sift_dot_channel__schemas_dot_v1_dot_channel__schemas__pb2.CreateChannelSchemaResponse.FromString,
21
+ )
22
+ self.BatchCreateChannelSchemas = channel.unary_unary(
23
+ '/sift.channel_schemas.v1.ChannelSchemaService/BatchCreateChannelSchemas',
24
+ request_serializer=sift_dot_channel__schemas_dot_v1_dot_channel__schemas__pb2.BatchCreateChannelSchemasRequest.SerializeToString,
25
+ response_deserializer=sift_dot_channel__schemas_dot_v1_dot_channel__schemas__pb2.BatchCreateChannelSchemasResponse.FromString,
26
+ )
27
+
28
+
29
+ class ChannelSchemaServiceServicer(object):
30
+ """Missing associated documentation comment in .proto file."""
31
+
32
+ def CreateChannelSchema(self, request, context):
33
+ """Create a channel schema
34
+ """
35
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
36
+ context.set_details('Method not implemented!')
37
+ raise NotImplementedError('Method not implemented!')
38
+
39
+ def BatchCreateChannelSchemas(self, request, context):
40
+ """Create a batch of channel schemas
41
+ """
42
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
43
+ context.set_details('Method not implemented!')
44
+ raise NotImplementedError('Method not implemented!')
45
+
46
+
47
+ def add_ChannelSchemaServiceServicer_to_server(servicer, server):
48
+ rpc_method_handlers = {
49
+ 'CreateChannelSchema': grpc.unary_unary_rpc_method_handler(
50
+ servicer.CreateChannelSchema,
51
+ request_deserializer=sift_dot_channel__schemas_dot_v1_dot_channel__schemas__pb2.CreateChannelSchemaRequest.FromString,
52
+ response_serializer=sift_dot_channel__schemas_dot_v1_dot_channel__schemas__pb2.CreateChannelSchemaResponse.SerializeToString,
53
+ ),
54
+ 'BatchCreateChannelSchemas': grpc.unary_unary_rpc_method_handler(
55
+ servicer.BatchCreateChannelSchemas,
56
+ request_deserializer=sift_dot_channel__schemas_dot_v1_dot_channel__schemas__pb2.BatchCreateChannelSchemasRequest.FromString,
57
+ response_serializer=sift_dot_channel__schemas_dot_v1_dot_channel__schemas__pb2.BatchCreateChannelSchemasResponse.SerializeToString,
58
+ ),
59
+ }
60
+ generic_handler = grpc.method_handlers_generic_handler(
61
+ 'sift.channel_schemas.v1.ChannelSchemaService', rpc_method_handlers)
62
+ server.add_generic_rpc_handlers((generic_handler,))
63
+
64
+
65
+ # This class is part of an EXPERIMENTAL API.
66
+ class ChannelSchemaService(object):
67
+ """Missing associated documentation comment in .proto file."""
68
+
69
+ @staticmethod
70
+ def CreateChannelSchema(request,
71
+ target,
72
+ options=(),
73
+ channel_credentials=None,
74
+ call_credentials=None,
75
+ insecure=False,
76
+ compression=None,
77
+ wait_for_ready=None,
78
+ timeout=None,
79
+ metadata=None):
80
+ return grpc.experimental.unary_unary(request, target, '/sift.channel_schemas.v1.ChannelSchemaService/CreateChannelSchema',
81
+ sift_dot_channel__schemas_dot_v1_dot_channel__schemas__pb2.CreateChannelSchemaRequest.SerializeToString,
82
+ sift_dot_channel__schemas_dot_v1_dot_channel__schemas__pb2.CreateChannelSchemaResponse.FromString,
83
+ options, channel_credentials,
84
+ insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
85
+
86
+ @staticmethod
87
+ def BatchCreateChannelSchemas(request,
88
+ target,
89
+ options=(),
90
+ channel_credentials=None,
91
+ call_credentials=None,
92
+ insecure=False,
93
+ compression=None,
94
+ wait_for_ready=None,
95
+ timeout=None,
96
+ metadata=None):
97
+ return grpc.experimental.unary_unary(request, target, '/sift.channel_schemas.v1.ChannelSchemaService/BatchCreateChannelSchemas',
98
+ sift_dot_channel__schemas_dot_v1_dot_channel__schemas__pb2.BatchCreateChannelSchemasRequest.SerializeToString,
99
+ sift_dot_channel__schemas_dot_v1_dot_channel__schemas__pb2.BatchCreateChannelSchemasResponse.FromString,
100
+ options, channel_credentials,
101
+ insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
@@ -0,0 +1,64 @@
1
+ """
2
+ @generated by mypy-protobuf. Do not edit manually!
3
+ isort:skip_file
4
+ """
5
+
6
+ import abc
7
+ import collections.abc
8
+ import grpc
9
+ import grpc.aio
10
+ import sift.channel_schemas.v1.channel_schemas_pb2
11
+ import typing
12
+
13
+ _T = typing.TypeVar("_T")
14
+
15
+ class _MaybeAsyncIterator(collections.abc.AsyncIterator[_T], collections.abc.Iterator[_T], metaclass=abc.ABCMeta): ...
16
+
17
+ class _ServicerContext(grpc.ServicerContext, grpc.aio.ServicerContext): # type: ignore[misc, type-arg]
18
+ ...
19
+
20
+ class ChannelSchemaServiceStub:
21
+ def __init__(self, channel: typing.Union[grpc.Channel, grpc.aio.Channel]) -> None: ...
22
+ CreateChannelSchema: grpc.UnaryUnaryMultiCallable[
23
+ sift.channel_schemas.v1.channel_schemas_pb2.CreateChannelSchemaRequest,
24
+ sift.channel_schemas.v1.channel_schemas_pb2.CreateChannelSchemaResponse,
25
+ ]
26
+ """Create a channel schema"""
27
+
28
+ BatchCreateChannelSchemas: grpc.UnaryUnaryMultiCallable[
29
+ sift.channel_schemas.v1.channel_schemas_pb2.BatchCreateChannelSchemasRequest,
30
+ sift.channel_schemas.v1.channel_schemas_pb2.BatchCreateChannelSchemasResponse,
31
+ ]
32
+ """Create a batch of channel schemas"""
33
+
34
+ class ChannelSchemaServiceAsyncStub:
35
+ CreateChannelSchema: grpc.aio.UnaryUnaryMultiCallable[
36
+ sift.channel_schemas.v1.channel_schemas_pb2.CreateChannelSchemaRequest,
37
+ sift.channel_schemas.v1.channel_schemas_pb2.CreateChannelSchemaResponse,
38
+ ]
39
+ """Create a channel schema"""
40
+
41
+ BatchCreateChannelSchemas: grpc.aio.UnaryUnaryMultiCallable[
42
+ sift.channel_schemas.v1.channel_schemas_pb2.BatchCreateChannelSchemasRequest,
43
+ sift.channel_schemas.v1.channel_schemas_pb2.BatchCreateChannelSchemasResponse,
44
+ ]
45
+ """Create a batch of channel schemas"""
46
+
47
+ class ChannelSchemaServiceServicer(metaclass=abc.ABCMeta):
48
+ @abc.abstractmethod
49
+ def CreateChannelSchema(
50
+ self,
51
+ request: sift.channel_schemas.v1.channel_schemas_pb2.CreateChannelSchemaRequest,
52
+ context: _ServicerContext,
53
+ ) -> typing.Union[sift.channel_schemas.v1.channel_schemas_pb2.CreateChannelSchemaResponse, collections.abc.Awaitable[sift.channel_schemas.v1.channel_schemas_pb2.CreateChannelSchemaResponse]]:
54
+ """Create a channel schema"""
55
+
56
+ @abc.abstractmethod
57
+ def BatchCreateChannelSchemas(
58
+ self,
59
+ request: sift.channel_schemas.v1.channel_schemas_pb2.BatchCreateChannelSchemasRequest,
60
+ context: _ServicerContext,
61
+ ) -> typing.Union[sift.channel_schemas.v1.channel_schemas_pb2.BatchCreateChannelSchemasResponse, collections.abc.Awaitable[sift.channel_schemas.v1.channel_schemas_pb2.BatchCreateChannelSchemasResponse]]:
62
+ """Create a batch of channel schemas"""
63
+
64
+ def add_ChannelSchemaServiceServicer_to_server(servicer: ChannelSchemaServiceServicer, server: typing.Union[grpc.Server, grpc.aio.Server]) -> None: ...
File without changes
File without changes
@@ -0,0 +1,88 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: sift/channels/v2/channels.proto
4
+ # Protobuf Python Version: 5.26.1
5
+ """Generated protocol buffer code."""
6
+ from google.protobuf import descriptor as _descriptor
7
+ from google.protobuf import descriptor_pool as _descriptor_pool
8
+ from google.protobuf import symbol_database as _symbol_database
9
+ from google.protobuf.internal import builder as _builder
10
+ # @@protoc_insertion_point(imports)
11
+
12
+ _sym_db = _symbol_database.Default()
13
+
14
+
15
+ from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
16
+ from google.api import field_behavior_pb2 as google_dot_api_dot_field__behavior__pb2
17
+ from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
18
+ from protoc_gen_openapiv2.options import annotations_pb2 as protoc__gen__openapiv2_dot_options_dot_annotations__pb2
19
+ from sift.common.type.v1 import channel_bit_field_element_pb2 as sift_dot_common_dot_type_dot_v1_dot_channel__bit__field__element__pb2
20
+ from sift.common.type.v1 import channel_data_type_pb2 as sift_dot_common_dot_type_dot_v1_dot_channel__data__type__pb2
21
+ from sift.common.type.v1 import channel_enum_type_pb2 as sift_dot_common_dot_type_dot_v1_dot_channel__enum__type__pb2
22
+
23
+
24
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1fsift/channels/v2/channels.proto\x12\x10sift.channels.v2\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a.protoc-gen-openapiv2/options/annotations.proto\x1a\x33sift/common/type/v1/channel_bit_field_element.proto\x1a+sift/common/type/v1/channel_data_type.proto\x1a+sift/common/type/v1/channel_enum_type.proto\"\xd4\x05\n\x07\x43hannel\x12\"\n\nchannel_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\tchannelId\x12\x17\n\x04name\x18\x02 \x01(\tB\x03\xe0\x41\x02R\x04name\x12!\n\tcomponent\x18\x03 \x01(\tB\x03\xe0\x41\x02R\tcomponent\x12\x1e\n\x08\x61sset_id\x18\x04 \x01(\tB\x03\xe0\x41\x02R\x07\x61ssetId\x12%\n\x0b\x64\x65scription\x18\x05 \x01(\tB\x03\xe0\x41\x02R\x0b\x64\x65scription\x12\x1c\n\x07unit_id\x18\x06 \x01(\tB\x03\xe0\x41\x02R\x06unitId\x12\x42\n\x0c\x63reated_date\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\x0b\x63reatedDate\x12\x44\n\rmodified_date\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\x0cmodifiedDate\x12\x30\n\x12\x63reated_by_user_id\x18\t \x01(\tB\x03\xe0\x41\x02R\x0f\x63reatedByUserId\x12\x32\n\x13modified_by_user_id\x18\n \x01(\tB\x03\xe0\x41\x02R\x10modifiedByUserId\x12,\n\x0forganization_id\x18\x0b \x01(\tB\x03\xe0\x41\x02R\x0eorganizationId\x12\x46\n\tdata_type\x18\x0c \x01(\x0e\x32$.sift.common.type.v1.ChannelDataTypeB\x03\xe0\x41\x02R\x08\x64\x61taType\x12\x43\n\nenum_types\x18\r \x03(\x0b\x32$.sift.common.type.v1.ChannelEnumTypeR\tenumTypes\x12Y\n\x12\x62it_field_elements\x18\x0e \x03(\x0b\x32+.sift.common.type.v1.ChannelBitFieldElementR\x10\x62itFieldElements\"7\n\x11GetChannelRequest\x12\"\n\nchannel_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\tchannelId\"N\n\x12GetChannelResponse\x12\x38\n\x07\x63hannel\x18\x01 \x01(\x0b\x32\x19.sift.channels.v2.ChannelB\x03\xe0\x41\x02R\x07\x63hannel\"\xc6\x01\n\x13ListChannelsRequest\x12 \n\tpage_size\x18\x01 \x01(\rB\x03\xe0\x41\x01R\x08pageSize\x12\"\n\npage_token\x18\x02 \x01(\tB\x03\xe0\x41\x01R\tpageToken\x12\x1b\n\x06\x66ilter\x18\x03 \x01(\tB\x03\xe0\x41\x01R\x06\x66ilter\x12,\n\x0forganization_id\x18\x04 \x01(\tB\x03\xe0\x41\x01R\x0eorganizationId\x12\x1e\n\x08order_by\x18\x05 \x01(\tB\x03\xe0\x41\x01R\x07orderBy\"u\n\x14ListChannelsResponse\x12\x35\n\x08\x63hannels\x18\x01 \x03(\x0b\x32\x19.sift.channels.v2.ChannelR\x08\x63hannels\x12&\n\x0fnext_page_token\x18\x02 \x01(\tR\rnextPageToken2\xbc\x04\n\x0e\x43hannelService\x12\xa2\x01\n\nGetChannel\x12#.sift.channels.v2.GetChannelRequest\x1a$.sift.channels.v2.GetChannelResponse\"I\x92\x41!\x12\nGetChannel\x1a\x13Retrieve a channel.\x82\xd3\xe4\x93\x02\x1f\x12\x1d/api/v2/channels/{channel_id}\x12\xb5\x01\n\x0cListChannels\x12%.sift.channels.v2.ListChannelsRequest\x1a&.sift.channels.v2.ListChannelsResponse\"V\x92\x41;\x12\x0cListChannels\x1a+Retrieve channels using an optional filter.\x82\xd3\xe4\x93\x02\x12\x12\x10/api/v2/channels\x1a\xcc\x01\x92\x41\xc8\x01\x12HService to programmatically interact with [channels](/glossary#channel).\x1a|\n\"Read more about what channels are.\x12Vhttps://customer.support.siftstack.com/servicedesk/customer/portal/2/article/265453943B\x9d\x01\n\x14\x63om.sift.channels.v2B\rChannelsProtoP\x01\xa2\x02\x03SCX\xaa\x02\x10Sift.Channels.V2\xca\x02\x10Sift\\Channels\\V2\xe2\x02\x1cSift\\Channels\\V2\\GPBMetadata\xea\x02\x12Sift::Channels::V2\x92\x41\x13\x12\x11\n\x0f\x43hannel serviceb\x06proto3')
25
+
26
+ _globals = globals()
27
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
28
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'sift.channels.v2.channels_pb2', _globals)
29
+ if not _descriptor._USE_C_DESCRIPTORS:
30
+ _globals['DESCRIPTOR']._loaded_options = None
31
+ _globals['DESCRIPTOR']._serialized_options = b'\n\024com.sift.channels.v2B\rChannelsProtoP\001\242\002\003SCX\252\002\020Sift.Channels.V2\312\002\020Sift\\Channels\\V2\342\002\034Sift\\Channels\\V2\\GPBMetadata\352\002\022Sift::Channels::V2\222A\023\022\021\n\017Channel service'
32
+ _globals['_CHANNEL'].fields_by_name['channel_id']._loaded_options = None
33
+ _globals['_CHANNEL'].fields_by_name['channel_id']._serialized_options = b'\340A\002'
34
+ _globals['_CHANNEL'].fields_by_name['name']._loaded_options = None
35
+ _globals['_CHANNEL'].fields_by_name['name']._serialized_options = b'\340A\002'
36
+ _globals['_CHANNEL'].fields_by_name['component']._loaded_options = None
37
+ _globals['_CHANNEL'].fields_by_name['component']._serialized_options = b'\340A\002'
38
+ _globals['_CHANNEL'].fields_by_name['asset_id']._loaded_options = None
39
+ _globals['_CHANNEL'].fields_by_name['asset_id']._serialized_options = b'\340A\002'
40
+ _globals['_CHANNEL'].fields_by_name['description']._loaded_options = None
41
+ _globals['_CHANNEL'].fields_by_name['description']._serialized_options = b'\340A\002'
42
+ _globals['_CHANNEL'].fields_by_name['unit_id']._loaded_options = None
43
+ _globals['_CHANNEL'].fields_by_name['unit_id']._serialized_options = b'\340A\002'
44
+ _globals['_CHANNEL'].fields_by_name['created_date']._loaded_options = None
45
+ _globals['_CHANNEL'].fields_by_name['created_date']._serialized_options = b'\340A\002'
46
+ _globals['_CHANNEL'].fields_by_name['modified_date']._loaded_options = None
47
+ _globals['_CHANNEL'].fields_by_name['modified_date']._serialized_options = b'\340A\002'
48
+ _globals['_CHANNEL'].fields_by_name['created_by_user_id']._loaded_options = None
49
+ _globals['_CHANNEL'].fields_by_name['created_by_user_id']._serialized_options = b'\340A\002'
50
+ _globals['_CHANNEL'].fields_by_name['modified_by_user_id']._loaded_options = None
51
+ _globals['_CHANNEL'].fields_by_name['modified_by_user_id']._serialized_options = b'\340A\002'
52
+ _globals['_CHANNEL'].fields_by_name['organization_id']._loaded_options = None
53
+ _globals['_CHANNEL'].fields_by_name['organization_id']._serialized_options = b'\340A\002'
54
+ _globals['_CHANNEL'].fields_by_name['data_type']._loaded_options = None
55
+ _globals['_CHANNEL'].fields_by_name['data_type']._serialized_options = b'\340A\002'
56
+ _globals['_GETCHANNELREQUEST'].fields_by_name['channel_id']._loaded_options = None
57
+ _globals['_GETCHANNELREQUEST'].fields_by_name['channel_id']._serialized_options = b'\340A\002'
58
+ _globals['_GETCHANNELRESPONSE'].fields_by_name['channel']._loaded_options = None
59
+ _globals['_GETCHANNELRESPONSE'].fields_by_name['channel']._serialized_options = b'\340A\002'
60
+ _globals['_LISTCHANNELSREQUEST'].fields_by_name['page_size']._loaded_options = None
61
+ _globals['_LISTCHANNELSREQUEST'].fields_by_name['page_size']._serialized_options = b'\340A\001'
62
+ _globals['_LISTCHANNELSREQUEST'].fields_by_name['page_token']._loaded_options = None
63
+ _globals['_LISTCHANNELSREQUEST'].fields_by_name['page_token']._serialized_options = b'\340A\001'
64
+ _globals['_LISTCHANNELSREQUEST'].fields_by_name['filter']._loaded_options = None
65
+ _globals['_LISTCHANNELSREQUEST'].fields_by_name['filter']._serialized_options = b'\340A\001'
66
+ _globals['_LISTCHANNELSREQUEST'].fields_by_name['organization_id']._loaded_options = None
67
+ _globals['_LISTCHANNELSREQUEST'].fields_by_name['organization_id']._serialized_options = b'\340A\001'
68
+ _globals['_LISTCHANNELSREQUEST'].fields_by_name['order_by']._loaded_options = None
69
+ _globals['_LISTCHANNELSREQUEST'].fields_by_name['order_by']._serialized_options = b'\340A\001'
70
+ _globals['_CHANNELSERVICE']._loaded_options = None
71
+ _globals['_CHANNELSERVICE']._serialized_options = b'\222A\310\001\022HService to programmatically interact with [channels](/glossary#channel).\032|\n\"Read more about what channels are.\022Vhttps://customer.support.siftstack.com/servicedesk/customer/portal/2/article/265453943'
72
+ _globals['_CHANNELSERVICE'].methods_by_name['GetChannel']._loaded_options = None
73
+ _globals['_CHANNELSERVICE'].methods_by_name['GetChannel']._serialized_options = b'\222A!\022\nGetChannel\032\023Retrieve a channel.\202\323\344\223\002\037\022\035/api/v2/channels/{channel_id}'
74
+ _globals['_CHANNELSERVICE'].methods_by_name['ListChannels']._loaded_options = None
75
+ _globals['_CHANNELSERVICE'].methods_by_name['ListChannels']._serialized_options = b'\222A;\022\014ListChannels\032+Retrieve channels using an optional filter.\202\323\344\223\002\022\022\020/api/v2/channels'
76
+ _globals['_CHANNEL']._serialized_start=341
77
+ _globals['_CHANNEL']._serialized_end=1065
78
+ _globals['_GETCHANNELREQUEST']._serialized_start=1067
79
+ _globals['_GETCHANNELREQUEST']._serialized_end=1122
80
+ _globals['_GETCHANNELRESPONSE']._serialized_start=1124
81
+ _globals['_GETCHANNELRESPONSE']._serialized_end=1202
82
+ _globals['_LISTCHANNELSREQUEST']._serialized_start=1205
83
+ _globals['_LISTCHANNELSREQUEST']._serialized_end=1403
84
+ _globals['_LISTCHANNELSRESPONSE']._serialized_start=1405
85
+ _globals['_LISTCHANNELSRESPONSE']._serialized_end=1522
86
+ _globals['_CHANNELSERVICE']._serialized_start=1525
87
+ _globals['_CHANNELSERVICE']._serialized_end=2097
88
+ # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,183 @@
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.message
11
+ import google.protobuf.timestamp_pb2
12
+ import sift.common.type.v1.channel_bit_field_element_pb2
13
+ import sift.common.type.v1.channel_data_type_pb2
14
+ import sift.common.type.v1.channel_enum_type_pb2
15
+ import typing
16
+
17
+ DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
18
+
19
+ @typing.final
20
+ class Channel(google.protobuf.message.Message):
21
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
22
+
23
+ CHANNEL_ID_FIELD_NUMBER: builtins.int
24
+ NAME_FIELD_NUMBER: builtins.int
25
+ COMPONENT_FIELD_NUMBER: builtins.int
26
+ ASSET_ID_FIELD_NUMBER: builtins.int
27
+ DESCRIPTION_FIELD_NUMBER: builtins.int
28
+ UNIT_ID_FIELD_NUMBER: builtins.int
29
+ CREATED_DATE_FIELD_NUMBER: builtins.int
30
+ MODIFIED_DATE_FIELD_NUMBER: builtins.int
31
+ CREATED_BY_USER_ID_FIELD_NUMBER: builtins.int
32
+ MODIFIED_BY_USER_ID_FIELD_NUMBER: builtins.int
33
+ ORGANIZATION_ID_FIELD_NUMBER: builtins.int
34
+ DATA_TYPE_FIELD_NUMBER: builtins.int
35
+ ENUM_TYPES_FIELD_NUMBER: builtins.int
36
+ BIT_FIELD_ELEMENTS_FIELD_NUMBER: builtins.int
37
+ channel_id: builtins.str
38
+ name: builtins.str
39
+ component: builtins.str
40
+ asset_id: builtins.str
41
+ description: builtins.str
42
+ unit_id: builtins.str
43
+ created_by_user_id: builtins.str
44
+ modified_by_user_id: builtins.str
45
+ organization_id: builtins.str
46
+ data_type: sift.common.type.v1.channel_data_type_pb2.ChannelDataType.ValueType
47
+ @property
48
+ def created_date(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
49
+ @property
50
+ def modified_date(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
51
+ @property
52
+ def enum_types(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[sift.common.type.v1.channel_enum_type_pb2.ChannelEnumType]: ...
53
+ @property
54
+ def bit_field_elements(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[sift.common.type.v1.channel_bit_field_element_pb2.ChannelBitFieldElement]: ...
55
+ def __init__(
56
+ self,
57
+ *,
58
+ channel_id: builtins.str = ...,
59
+ name: builtins.str = ...,
60
+ component: builtins.str = ...,
61
+ asset_id: builtins.str = ...,
62
+ description: builtins.str = ...,
63
+ unit_id: builtins.str = ...,
64
+ created_date: google.protobuf.timestamp_pb2.Timestamp | None = ...,
65
+ modified_date: google.protobuf.timestamp_pb2.Timestamp | None = ...,
66
+ created_by_user_id: builtins.str = ...,
67
+ modified_by_user_id: builtins.str = ...,
68
+ organization_id: builtins.str = ...,
69
+ data_type: sift.common.type.v1.channel_data_type_pb2.ChannelDataType.ValueType = ...,
70
+ enum_types: collections.abc.Iterable[sift.common.type.v1.channel_enum_type_pb2.ChannelEnumType] | None = ...,
71
+ bit_field_elements: collections.abc.Iterable[sift.common.type.v1.channel_bit_field_element_pb2.ChannelBitFieldElement] | None = ...,
72
+ ) -> None: ...
73
+ def HasField(self, field_name: typing.Literal["created_date", b"created_date", "modified_date", b"modified_date"]) -> builtins.bool: ...
74
+ def ClearField(self, field_name: typing.Literal["asset_id", b"asset_id", "bit_field_elements", b"bit_field_elements", "channel_id", b"channel_id", "component", b"component", "created_by_user_id", b"created_by_user_id", "created_date", b"created_date", "data_type", b"data_type", "description", b"description", "enum_types", b"enum_types", "modified_by_user_id", b"modified_by_user_id", "modified_date", b"modified_date", "name", b"name", "organization_id", b"organization_id", "unit_id", b"unit_id"]) -> None: ...
75
+
76
+ global___Channel = Channel
77
+
78
+ @typing.final
79
+ class GetChannelRequest(google.protobuf.message.Message):
80
+ """The request for a call to `ChannelService_GetChannel`."""
81
+
82
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
83
+
84
+ CHANNEL_ID_FIELD_NUMBER: builtins.int
85
+ channel_id: builtins.str
86
+ def __init__(
87
+ self,
88
+ *,
89
+ channel_id: builtins.str = ...,
90
+ ) -> None: ...
91
+ def ClearField(self, field_name: typing.Literal["channel_id", b"channel_id"]) -> None: ...
92
+
93
+ global___GetChannelRequest = GetChannelRequest
94
+
95
+ @typing.final
96
+ class GetChannelResponse(google.protobuf.message.Message):
97
+ """The response of a call to `ChannelService_GetChannel`."""
98
+
99
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
100
+
101
+ CHANNEL_FIELD_NUMBER: builtins.int
102
+ @property
103
+ def channel(self) -> global___Channel: ...
104
+ def __init__(
105
+ self,
106
+ *,
107
+ channel: global___Channel | None = ...,
108
+ ) -> None: ...
109
+ def HasField(self, field_name: typing.Literal["channel", b"channel"]) -> builtins.bool: ...
110
+ def ClearField(self, field_name: typing.Literal["channel", b"channel"]) -> None: ...
111
+
112
+ global___GetChannelResponse = GetChannelResponse
113
+
114
+ @typing.final
115
+ class ListChannelsRequest(google.protobuf.message.Message):
116
+ """The request for a call to `ChannelService_ListChannels` to retrieve channels."""
117
+
118
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
119
+
120
+ PAGE_SIZE_FIELD_NUMBER: builtins.int
121
+ PAGE_TOKEN_FIELD_NUMBER: builtins.int
122
+ FILTER_FIELD_NUMBER: builtins.int
123
+ ORGANIZATION_ID_FIELD_NUMBER: builtins.int
124
+ ORDER_BY_FIELD_NUMBER: builtins.int
125
+ page_size: builtins.int
126
+ """The maximum number of channels to return. The service may return fewer than this value.
127
+ If unspecified, at most 50 channels will be returned. The maximum value is 10,000; values above
128
+ 10,000 will be coerced to 10,000. Optional.
129
+ """
130
+ page_token: builtins.str
131
+ """A page token, received from a previous `ListChannels` call.
132
+ Provide this to retrieve the subsequent page.
133
+ When paginating, all other parameters provided to `ListChannels` must match
134
+ the call that provided the page token. Optional.
135
+ """
136
+ filter: builtins.str
137
+ """A [Common Expression Language (CEL)](https://github.com/google/cel-spec) filter string.
138
+ Available fields to filter by are `channel_id`, `asset_id`, `name`, `component`, `description`, `active`, `created_date`, and `modified_date`.
139
+ 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).
140
+ For more information about the fields used for filtering, please refer to [this definition](/api/grpc/protocol_buffers/channels#channel). Optional.
141
+ """
142
+ organization_id: builtins.str
143
+ """This field is only required if your user belongs to multiple organizations."""
144
+ order_by: builtins.str
145
+ """How to order the retrieved channels. Formatted as a comma-separated string i.e. "<field_name>[ desc],...".
146
+ Available fields to order_by are `created_date` and `modified_date`.
147
+ If left empty, items are ordered by `created_date` in ascending order (oldest-first).
148
+ For more information about the format of this field, read [this](https://google.aip.dev/132#ordering)
149
+ Example: "created_date desc,modified_date"
150
+ """
151
+ def __init__(
152
+ self,
153
+ *,
154
+ page_size: builtins.int = ...,
155
+ page_token: builtins.str = ...,
156
+ filter: builtins.str = ...,
157
+ organization_id: builtins.str = ...,
158
+ order_by: builtins.str = ...,
159
+ ) -> None: ...
160
+ 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: ...
161
+
162
+ global___ListChannelsRequest = ListChannelsRequest
163
+
164
+ @typing.final
165
+ class ListChannelsResponse(google.protobuf.message.Message):
166
+ """The result of a call to `ChannelService_ListChannels`."""
167
+
168
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
169
+
170
+ CHANNELS_FIELD_NUMBER: builtins.int
171
+ NEXT_PAGE_TOKEN_FIELD_NUMBER: builtins.int
172
+ next_page_token: builtins.str
173
+ @property
174
+ def channels(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Channel]: ...
175
+ def __init__(
176
+ self,
177
+ *,
178
+ channels: collections.abc.Iterable[global___Channel] | None = ...,
179
+ next_page_token: builtins.str = ...,
180
+ ) -> None: ...
181
+ def ClearField(self, field_name: typing.Literal["channels", b"channels", "next_page_token", b"next_page_token"]) -> None: ...
182
+
183
+ global___ListChannelsResponse = ListChannelsResponse