honeycomb-api 0.1.0__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 (453) hide show
  1. honeycomb/__init__.py +217 -0
  2. honeycomb/_generated/__init__.py +8 -0
  3. honeycomb/_generated/api/__init__.py +1 -0
  4. honeycomb/_generated/api/auth/__init__.py +0 -0
  5. honeycomb/_generated/api/auth/get_auth.py +172 -0
  6. honeycomb/_generated/api/auth/get_v2_auth.py +168 -0
  7. honeycomb/_generated/api/boards/__init__.py +0 -0
  8. honeycomb/_generated/api/boards/create_board.py +217 -0
  9. honeycomb/_generated/api/boards/create_board_view.py +237 -0
  10. honeycomb/_generated/api/boards/delete_board.py +191 -0
  11. honeycomb/_generated/api/boards/delete_board_view.py +210 -0
  12. honeycomb/_generated/api/boards/get_board.py +208 -0
  13. honeycomb/_generated/api/boards/get_board_view.py +214 -0
  14. honeycomb/_generated/api/boards/list_board_views.py +206 -0
  15. honeycomb/_generated/api/boards/list_boards.py +177 -0
  16. honeycomb/_generated/api/boards/update_board.py +238 -0
  17. honeycomb/_generated/api/boards/update_board_view.py +250 -0
  18. honeycomb/_generated/api/burn_alerts/__init__.py +0 -0
  19. honeycomb/_generated/api/burn_alerts/create_burn_alert.py +224 -0
  20. honeycomb/_generated/api/burn_alerts/delete_burn_alert.py +204 -0
  21. honeycomb/_generated/api/burn_alerts/get_burn_alert.py +208 -0
  22. honeycomb/_generated/api/burn_alerts/list_burn_alerts_by_slo.py +220 -0
  23. honeycomb/_generated/api/calculated_fields/__init__.py +0 -0
  24. honeycomb/_generated/api/calculated_fields/create_calculated_field.py +239 -0
  25. honeycomb/_generated/api/calculated_fields/delete_calculated_field.py +225 -0
  26. honeycomb/_generated/api/calculated_fields/get_calculated_field.py +207 -0
  27. honeycomb/_generated/api/calculated_fields/list_calculated_fields.py +252 -0
  28. honeycomb/_generated/api/calculated_fields/update_calculated_field.py +242 -0
  29. honeycomb/_generated/api/columns/__init__.py +0 -0
  30. honeycomb/_generated/api/columns/create_column.py +241 -0
  31. honeycomb/_generated/api/columns/delete_column.py +221 -0
  32. honeycomb/_generated/api/columns/get_column.py +206 -0
  33. honeycomb/_generated/api/columns/list_columns.py +256 -0
  34. honeycomb/_generated/api/columns/update_column.py +242 -0
  35. honeycomb/_generated/api/dataset_definitions/__init__.py +0 -0
  36. honeycomb/_generated/api/dataset_definitions/list_dataset_definitions.py +193 -0
  37. honeycomb/_generated/api/dataset_definitions/patch_dataset_definitions.py +235 -0
  38. honeycomb/_generated/api/datasets/__init__.py +0 -0
  39. honeycomb/_generated/api/datasets/create_dataset.py +227 -0
  40. honeycomb/_generated/api/datasets/delete_dataset.py +251 -0
  41. honeycomb/_generated/api/datasets/get_dataset.py +195 -0
  42. honeycomb/_generated/api/datasets/list_datasets.py +177 -0
  43. honeycomb/_generated/api/datasets/update_dataset.py +217 -0
  44. honeycomb/_generated/api/enhance/__init__.py +0 -0
  45. honeycomb/_generated/api/enhance/record_enhance_indexer_usage.py +231 -0
  46. honeycomb/_generated/api/environments/__init__.py +0 -0
  47. honeycomb/_generated/api/environments/create_environment.py +247 -0
  48. honeycomb/_generated/api/environments/delete_environment.py +245 -0
  49. honeycomb/_generated/api/environments/get_environment.py +213 -0
  50. honeycomb/_generated/api/environments/list_environments.py +245 -0
  51. honeycomb/_generated/api/environments/update_environment.py +254 -0
  52. honeycomb/_generated/api/events/__init__.py +0 -0
  53. honeycomb/_generated/api/events/create_event.py +269 -0
  54. honeycomb/_generated/api/events/create_events.py +314 -0
  55. honeycomb/_generated/api/key_management/__init__.py +0 -0
  56. honeycomb/_generated/api/key_management/create_api_key.py +286 -0
  57. honeycomb/_generated/api/key_management/delete_api_key.py +223 -0
  58. honeycomb/_generated/api/key_management/get_api_key.py +225 -0
  59. honeycomb/_generated/api/key_management/list_api_keys.py +281 -0
  60. honeycomb/_generated/api/key_management/update_api_key.py +270 -0
  61. honeycomb/_generated/api/kinesis_events/__init__.py +0 -0
  62. honeycomb/_generated/api/kinesis_events/create_kinesis_events.py +220 -0
  63. honeycomb/_generated/api/marker_settings/__init__.py +0 -0
  64. honeycomb/_generated/api/marker_settings/create_marker_setting.py +209 -0
  65. honeycomb/_generated/api/marker_settings/delete_marker_settings.py +194 -0
  66. honeycomb/_generated/api/marker_settings/list_marker_settings.py +186 -0
  67. honeycomb/_generated/api/marker_settings/update_marker_settings.py +230 -0
  68. honeycomb/_generated/api/markers/__init__.py +0 -0
  69. honeycomb/_generated/api/markers/create_marker.py +220 -0
  70. honeycomb/_generated/api/markers/create_marker_v2.py +253 -0
  71. honeycomb/_generated/api/markers/delete_marker.py +200 -0
  72. honeycomb/_generated/api/markers/get_marker.py +194 -0
  73. honeycomb/_generated/api/markers/update_marker.py +233 -0
  74. honeycomb/_generated/api/markers/update_marker_v2.py +262 -0
  75. honeycomb/_generated/api/pipelines/__init__.py +0 -0
  76. honeycomb/_generated/api/pipelines/get_pipeline_configuration.py +306 -0
  77. honeycomb/_generated/api/pipelines/record_pipeline_usage.py +244 -0
  78. honeycomb/_generated/api/pipelines/update_pipeline_configuration_rollout.py +261 -0
  79. honeycomb/_generated/api/queries/__init__.py +0 -0
  80. honeycomb/_generated/api/queries/create_query.py +224 -0
  81. honeycomb/_generated/api/queries/get_query.py +208 -0
  82. honeycomb/_generated/api/query_annotations/__init__.py +0 -0
  83. honeycomb/_generated/api/query_annotations/create_query_annotation.py +226 -0
  84. honeycomb/_generated/api/query_annotations/delete_query_annotation.py +198 -0
  85. honeycomb/_generated/api/query_annotations/get_query_annotation.py +202 -0
  86. honeycomb/_generated/api/query_annotations/list_query_annotations.py +217 -0
  87. honeycomb/_generated/api/query_annotations/update_query_annotation.py +237 -0
  88. honeycomb/_generated/api/query_data/__init__.py +0 -0
  89. honeycomb/_generated/api/query_data/create_query_result.py +247 -0
  90. honeycomb/_generated/api/query_data/get_query_result.py +208 -0
  91. honeycomb/_generated/api/recipients/__init__.py +0 -0
  92. honeycomb/_generated/api/recipients/create_recipient.py +317 -0
  93. honeycomb/_generated/api/recipients/delete_recipient.py +199 -0
  94. honeycomb/_generated/api/recipients/get_recipient.py +252 -0
  95. honeycomb/_generated/api/recipients/list_recipients.py +230 -0
  96. honeycomb/_generated/api/recipients/update_recipient.py +323 -0
  97. honeycomb/_generated/api/reporting/__init__.py +0 -0
  98. honeycomb/_generated/api/reporting/get_slo_history.py +218 -0
  99. honeycomb/_generated/api/service_maps/__init__.py +0 -0
  100. honeycomb/_generated/api/service_maps/create_map_dependency_request.py +252 -0
  101. honeycomb/_generated/api/service_maps/get_map_dependencies.py +265 -0
  102. honeycomb/_generated/api/sl_os/__init__.py +0 -0
  103. honeycomb/_generated/api/sl_os/create_slo.py +229 -0
  104. honeycomb/_generated/api/sl_os/delete_slo.py +210 -0
  105. honeycomb/_generated/api/sl_os/get_slo.py +256 -0
  106. honeycomb/_generated/api/sl_os/list_slos.py +210 -0
  107. honeycomb/_generated/api/sl_os/update_slo.py +242 -0
  108. honeycomb/_generated/api/triggers/__init__.py +0 -0
  109. honeycomb/_generated/api/triggers/create_trigger.py +250 -0
  110. honeycomb/_generated/api/triggers/delete_trigger.py +204 -0
  111. honeycomb/_generated/api/triggers/get_trigger.py +214 -0
  112. honeycomb/_generated/api/triggers/list_triggers.py +206 -0
  113. honeycomb/_generated/api/triggers/list_triggers_with_recipient.py +208 -0
  114. honeycomb/_generated/api/triggers/update_trigger.py +248 -0
  115. honeycomb/_generated/client.py +271 -0
  116. honeycomb/_generated/errors.py +14 -0
  117. honeycomb/_generated/models/__init__.py +561 -0
  118. honeycomb/_generated/models/api_key_create_request.py +78 -0
  119. honeycomb/_generated/models/api_key_create_request_data.py +130 -0
  120. honeycomb/_generated/models/api_key_create_request_data_relationships.py +78 -0
  121. honeycomb/_generated/models/api_key_create_request_data_type.py +7 -0
  122. honeycomb/_generated/models/api_key_list_response.py +112 -0
  123. honeycomb/_generated/models/api_key_object.py +189 -0
  124. honeycomb/_generated/models/api_key_object_links.py +74 -0
  125. honeycomb/_generated/models/api_key_object_relationships.py +150 -0
  126. honeycomb/_generated/models/api_key_object_type.py +7 -0
  127. honeycomb/_generated/models/api_key_response.py +78 -0
  128. honeycomb/_generated/models/api_key_update_request.py +104 -0
  129. honeycomb/_generated/models/auth.py +140 -0
  130. honeycomb/_generated/models/auth_api_key_access.py +154 -0
  131. honeycomb/_generated/models/auth_environment.py +82 -0
  132. honeycomb/_generated/models/auth_team.py +82 -0
  133. honeycomb/_generated/models/auth_type.py +8 -0
  134. honeycomb/_generated/models/auth_v2_response.py +108 -0
  135. honeycomb/_generated/models/auth_v2_response_data.py +122 -0
  136. honeycomb/_generated/models/auth_v2_response_data_attributes.py +141 -0
  137. honeycomb/_generated/models/auth_v2_response_data_attributes_key_type.py +7 -0
  138. honeycomb/_generated/models/auth_v2_response_data_attributes_timestamps.py +107 -0
  139. honeycomb/_generated/models/auth_v2_response_data_relationships.py +59 -0
  140. honeycomb/_generated/models/auth_v2_response_data_type.py +7 -0
  141. honeycomb/_generated/models/base_trigger.py +367 -0
  142. honeycomb/_generated/models/base_trigger_alert_type.py +8 -0
  143. honeycomb/_generated/models/base_trigger_baseline_details_type_0.py +92 -0
  144. honeycomb/_generated/models/base_trigger_baseline_details_type_0_offset_minutes.py +10 -0
  145. honeycomb/_generated/models/base_trigger_baseline_details_type_0_type.py +8 -0
  146. honeycomb/_generated/models/base_trigger_evaluation_schedule.py +83 -0
  147. honeycomb/_generated/models/base_trigger_evaluation_schedule_type.py +8 -0
  148. honeycomb/_generated/models/base_trigger_evaluation_schedule_window.py +103 -0
  149. honeycomb/_generated/models/base_trigger_evaluation_schedule_window_days_of_week_item.py +13 -0
  150. honeycomb/_generated/models/base_trigger_threshold.py +95 -0
  151. honeycomb/_generated/models/base_trigger_threshold_op.py +10 -0
  152. honeycomb/_generated/models/batch_event.py +110 -0
  153. honeycomb/_generated/models/board.py +276 -0
  154. honeycomb/_generated/models/board_layout_generation.py +8 -0
  155. honeycomb/_generated/models/board_links.py +74 -0
  156. honeycomb/_generated/models/board_panel_position.py +104 -0
  157. honeycomb/_generated/models/board_query_visualization_settings.py +141 -0
  158. honeycomb/_generated/models/board_query_visualization_settings_charts_item.py +113 -0
  159. honeycomb/_generated/models/board_query_visualization_settings_charts_item_chart_type.py +13 -0
  160. honeycomb/_generated/models/board_type.py +7 -0
  161. honeycomb/_generated/models/board_view_filter.py +93 -0
  162. honeycomb/_generated/models/board_view_filter_operation.py +22 -0
  163. honeycomb/_generated/models/board_view_response.py +111 -0
  164. honeycomb/_generated/models/budget_rate.py +189 -0
  165. honeycomb/_generated/models/budget_rate_alert_type.py +8 -0
  166. honeycomb/_generated/models/burn_alert_shared_params.py +136 -0
  167. honeycomb/_generated/models/calculated_field.py +117 -0
  168. honeycomb/_generated/models/configuration_key_attributes.py +140 -0
  169. honeycomb/_generated/models/configuration_key_attributes_key_type.py +7 -0
  170. honeycomb/_generated/models/configuration_key_attributes_timestamps.py +107 -0
  171. honeycomb/_generated/models/create_board_view_request.py +96 -0
  172. honeycomb/_generated/models/create_budget_rate_burn_alert_request.py +232 -0
  173. honeycomb/_generated/models/create_budget_rate_burn_alert_request_slo.py +74 -0
  174. honeycomb/_generated/models/create_column.py +149 -0
  175. honeycomb/_generated/models/create_column_type.py +11 -0
  176. honeycomb/_generated/models/create_enhance_indexer_usage_record_request.py +78 -0
  177. honeycomb/_generated/models/create_enhance_indexer_usage_record_request_data.py +90 -0
  178. honeycomb/_generated/models/create_enhance_indexer_usage_record_request_data_attributes.py +97 -0
  179. honeycomb/_generated/models/create_enhance_indexer_usage_record_request_data_attributes_usage_data.py +88 -0
  180. honeycomb/_generated/models/create_enhance_indexer_usage_record_request_data_attributes_usage_data_resource_metrics_item.py +89 -0
  181. honeycomb/_generated/models/create_enhance_indexer_usage_record_request_data_attributes_usage_data_resource_metrics_item_scope_metrics_item.py +89 -0
  182. honeycomb/_generated/models/create_enhance_indexer_usage_record_request_data_attributes_usage_data_resource_metrics_item_scope_metrics_item_metrics_item.py +97 -0
  183. honeycomb/_generated/models/create_enhance_indexer_usage_record_request_data_attributes_usage_data_resource_metrics_item_scope_metrics_item_metrics_item_sum.py +102 -0
  184. honeycomb/_generated/models/create_enhance_indexer_usage_record_request_data_attributes_usage_data_resource_metrics_item_scope_metrics_item_metrics_item_sum_aggregation_temporality.py +7 -0
  185. honeycomb/_generated/models/create_enhance_indexer_usage_record_request_data_attributes_usage_data_resource_metrics_item_scope_metrics_item_metrics_item_sum_datapoints_item.py +105 -0
  186. honeycomb/_generated/models/create_enhance_indexer_usage_record_request_data_attributes_usage_data_resource_metrics_item_scope_metrics_item_metrics_item_sum_datapoints_item_attributes_item.py +87 -0
  187. honeycomb/_generated/models/create_enhance_indexer_usage_record_request_data_attributes_usage_data_resource_metrics_item_scope_metrics_item_metrics_item_sum_datapoints_item_attributes_item_value.py +73 -0
  188. honeycomb/_generated/models/create_enhance_indexer_usage_record_request_data_type.py +7 -0
  189. honeycomb/_generated/models/create_environment_request.py +78 -0
  190. honeycomb/_generated/models/create_environment_request_data.py +90 -0
  191. honeycomb/_generated/models/create_environment_request_data_attributes.py +102 -0
  192. honeycomb/_generated/models/create_environment_request_data_type.py +7 -0
  193. honeycomb/_generated/models/create_events_content_encoding.py +8 -0
  194. honeycomb/_generated/models/create_events_response_200_item.py +82 -0
  195. honeycomb/_generated/models/create_exhaustion_time_burn_alert_request.py +217 -0
  196. honeycomb/_generated/models/create_exhaustion_time_burn_alert_request_slo.py +74 -0
  197. honeycomb/_generated/models/create_map_dependencies_request.py +128 -0
  198. honeycomb/_generated/models/create_map_dependencies_response.py +97 -0
  199. honeycomb/_generated/models/create_map_dependencies_response_status.py +9 -0
  200. honeycomb/_generated/models/create_pipeline_health_record_request.py +78 -0
  201. honeycomb/_generated/models/create_pipeline_health_record_request_data.py +98 -0
  202. honeycomb/_generated/models/create_pipeline_health_record_request_data_attributes.py +88 -0
  203. honeycomb/_generated/models/create_pipeline_health_record_request_data_attributes_usage_data.py +88 -0
  204. honeycomb/_generated/models/create_pipeline_health_record_request_data_attributes_usage_data_resource_metrics_item.py +89 -0
  205. honeycomb/_generated/models/create_pipeline_health_record_request_data_attributes_usage_data_resource_metrics_item_scope_metrics_item.py +89 -0
  206. honeycomb/_generated/models/create_pipeline_health_record_request_data_attributes_usage_data_resource_metrics_item_scope_metrics_item_metrics_item.py +97 -0
  207. honeycomb/_generated/models/create_pipeline_health_record_request_data_attributes_usage_data_resource_metrics_item_scope_metrics_item_metrics_item_sum.py +102 -0
  208. honeycomb/_generated/models/create_pipeline_health_record_request_data_attributes_usage_data_resource_metrics_item_scope_metrics_item_metrics_item_sum_aggregation_temporality.py +7 -0
  209. honeycomb/_generated/models/create_pipeline_health_record_request_data_attributes_usage_data_resource_metrics_item_scope_metrics_item_metrics_item_sum_datapoints_item.py +105 -0
  210. honeycomb/_generated/models/create_pipeline_health_record_request_data_attributes_usage_data_resource_metrics_item_scope_metrics_item_metrics_item_sum_datapoints_item_attributes_item.py +87 -0
  211. honeycomb/_generated/models/create_pipeline_health_record_request_data_attributes_usage_data_resource_metrics_item_scope_metrics_item_metrics_item_sum_datapoints_item_attributes_item_value.py +73 -0
  212. honeycomb/_generated/models/create_pipeline_health_record_request_data_type.py +7 -0
  213. honeycomb/_generated/models/create_query_result_request.py +118 -0
  214. honeycomb/_generated/models/dataset.py +183 -0
  215. honeycomb/_generated/models/dataset_creation_payload.py +93 -0
  216. honeycomb/_generated/models/dataset_definition_type_1.py +96 -0
  217. honeycomb/_generated/models/dataset_definition_type_1_column_type.py +8 -0
  218. honeycomb/_generated/models/dataset_definitions.py +599 -0
  219. honeycomb/_generated/models/dataset_relationship.py +79 -0
  220. honeycomb/_generated/models/dataset_relationship_data.py +82 -0
  221. honeycomb/_generated/models/dataset_relationship_data_type.py +7 -0
  222. honeycomb/_generated/models/dataset_settings.py +73 -0
  223. honeycomb/_generated/models/dataset_update_payload.py +105 -0
  224. honeycomb/_generated/models/dataset_update_payload_settings.py +73 -0
  225. honeycomb/_generated/models/detailed_error.py +115 -0
  226. honeycomb/_generated/models/email_recipient.py +160 -0
  227. honeycomb/_generated/models/email_recipient_details.py +71 -0
  228. honeycomb/_generated/models/email_recipient_type.py +7 -0
  229. honeycomb/_generated/models/environment.py +112 -0
  230. honeycomb/_generated/models/environment_attributes.py +140 -0
  231. honeycomb/_generated/models/environment_attributes_color_type_1.py +7 -0
  232. honeycomb/_generated/models/environment_attributes_settings.py +70 -0
  233. honeycomb/_generated/models/environment_color.py +16 -0
  234. honeycomb/_generated/models/environment_links.py +70 -0
  235. honeycomb/_generated/models/environment_list_response.py +112 -0
  236. honeycomb/_generated/models/environment_relationship.py +79 -0
  237. honeycomb/_generated/models/environment_relationship_data.py +82 -0
  238. honeycomb/_generated/models/environment_relationship_data_type.py +7 -0
  239. honeycomb/_generated/models/environment_response.py +78 -0
  240. honeycomb/_generated/models/environment_type.py +7 -0
  241. honeycomb/_generated/models/error.py +74 -0
  242. honeycomb/_generated/models/event.py +71 -0
  243. honeycomb/_generated/models/exhaustion_time.py +174 -0
  244. honeycomb/_generated/models/exhaustion_time_alert_type.py +8 -0
  245. honeycomb/_generated/models/exhaustion_time_burn_alert_list_response.py +198 -0
  246. honeycomb/_generated/models/exhaustion_time_burn_alert_list_response_slo.py +77 -0
  247. honeycomb/_generated/models/filter_op.py +22 -0
  248. honeycomb/_generated/models/get_map_dependencies_response.py +169 -0
  249. honeycomb/_generated/models/get_map_dependencies_response_status.py +9 -0
  250. honeycomb/_generated/models/having_calculate_op.py +29 -0
  251. honeycomb/_generated/models/having_op.py +12 -0
  252. honeycomb/_generated/models/included_resource.py +106 -0
  253. honeycomb/_generated/models/included_resource_attributes.py +62 -0
  254. honeycomb/_generated/models/ingest_key_attributes.py +153 -0
  255. honeycomb/_generated/models/ingest_key_attributes_key_type.py +7 -0
  256. honeycomb/_generated/models/ingest_key_attributes_permissions.py +74 -0
  257. honeycomb/_generated/models/ingest_key_attributes_timestamps.py +107 -0
  258. honeycomb/_generated/models/ingest_key_type.py +90 -0
  259. honeycomb/_generated/models/ingest_key_type_key_type.py +7 -0
  260. honeycomb/_generated/models/jsonapi_error_source.py +92 -0
  261. honeycomb/_generated/models/kinesis_event.py +111 -0
  262. honeycomb/_generated/models/kinesis_event_record.py +73 -0
  263. honeycomb/_generated/models/kinesis_response.py +91 -0
  264. honeycomb/_generated/models/list_api_keys_filtertype.py +8 -0
  265. honeycomb/_generated/models/map_dependency.py +118 -0
  266. honeycomb/_generated/models/map_node.py +97 -0
  267. honeycomb/_generated/models/map_node_type.py +7 -0
  268. honeycomb/_generated/models/marker.py +151 -0
  269. honeycomb/_generated/models/marker_create_request.py +78 -0
  270. honeycomb/_generated/models/marker_create_request_data.py +104 -0
  271. honeycomb/_generated/models/marker_create_request_data_attributes.py +110 -0
  272. honeycomb/_generated/models/marker_create_request_data_relationships.py +92 -0
  273. honeycomb/_generated/models/marker_create_request_data_type.py +7 -0
  274. honeycomb/_generated/models/marker_object.py +136 -0
  275. honeycomb/_generated/models/marker_object_attributes.py +146 -0
  276. honeycomb/_generated/models/marker_object_attributes_timestamps.py +107 -0
  277. honeycomb/_generated/models/marker_object_links.py +74 -0
  278. honeycomb/_generated/models/marker_object_relationships.py +111 -0
  279. honeycomb/_generated/models/marker_object_relationships_dataset.py +104 -0
  280. honeycomb/_generated/models/marker_object_relationships_dataset_data_type_0.py +94 -0
  281. honeycomb/_generated/models/marker_object_relationships_dataset_data_type_0_type.py +7 -0
  282. honeycomb/_generated/models/marker_object_type.py +7 -0
  283. honeycomb/_generated/models/marker_response.py +78 -0
  284. honeycomb/_generated/models/marker_setting.py +125 -0
  285. honeycomb/_generated/models/marker_update_request.py +78 -0
  286. honeycomb/_generated/models/marker_update_request_data.py +104 -0
  287. honeycomb/_generated/models/marker_update_request_data_attributes.py +111 -0
  288. honeycomb/_generated/models/marker_update_request_data_relationships.py +92 -0
  289. honeycomb/_generated/models/marker_update_request_data_type.py +7 -0
  290. honeycomb/_generated/models/ms_teams_recipient.py +161 -0
  291. honeycomb/_generated/models/ms_teams_recipient_details.py +80 -0
  292. honeycomb/_generated/models/ms_teams_recipient_type.py +7 -0
  293. honeycomb/_generated/models/ms_teams_workflow_recipient.py +161 -0
  294. honeycomb/_generated/models/ms_teams_workflow_recipient_details.py +80 -0
  295. honeycomb/_generated/models/ms_teams_workflow_recipient_type.py +7 -0
  296. honeycomb/_generated/models/notification_recipient.py +131 -0
  297. honeycomb/_generated/models/notification_recipient_details.py +117 -0
  298. honeycomb/_generated/models/notification_recipient_details_pagerduty_severity.py +10 -0
  299. honeycomb/_generated/models/notification_recipient_details_variables_item.py +81 -0
  300. honeycomb/_generated/models/pager_duty_recipient.py +160 -0
  301. honeycomb/_generated/models/pager_duty_recipient_details.py +79 -0
  302. honeycomb/_generated/models/pager_duty_recipient_type.py +7 -0
  303. honeycomb/_generated/models/pagination_links.py +80 -0
  304. honeycomb/_generated/models/payload_template.py +73 -0
  305. honeycomb/_generated/models/pipeline_configuration_response.py +112 -0
  306. honeycomb/_generated/models/pipeline_configuration_response_attributes.py +101 -0
  307. honeycomb/_generated/models/pipeline_configuration_response_attributes_configs_item.py +85 -0
  308. honeycomb/_generated/models/pipeline_configuration_response_links.py +73 -0
  309. honeycomb/_generated/models/pipeline_configuration_response_type.py +7 -0
  310. honeycomb/_generated/models/pipeline_configuration_rollout.py +112 -0
  311. honeycomb/_generated/models/pipeline_configuration_rollout_attributes.py +75 -0
  312. honeycomb/_generated/models/pipeline_configuration_rollout_attributes_status.py +12 -0
  313. honeycomb/_generated/models/pipeline_configuration_rollout_links.py +73 -0
  314. honeycomb/_generated/models/pipeline_configuration_rollout_type.py +7 -0
  315. honeycomb/_generated/models/preset_filter.py +78 -0
  316. honeycomb/_generated/models/query.py +346 -0
  317. honeycomb/_generated/models/query_annotation.py +166 -0
  318. honeycomb/_generated/models/query_annotation_source.py +8 -0
  319. honeycomb/_generated/models/query_calculated_fields_item.py +80 -0
  320. honeycomb/_generated/models/query_calculations_item.py +98 -0
  321. honeycomb/_generated/models/query_compare_time_offset_seconds.py +14 -0
  322. honeycomb/_generated/models/query_filter_combination.py +8 -0
  323. honeycomb/_generated/models/query_filters_item.py +126 -0
  324. honeycomb/_generated/models/query_havings_item.py +128 -0
  325. honeycomb/_generated/models/query_op.py +30 -0
  326. honeycomb/_generated/models/query_orders_item.py +115 -0
  327. honeycomb/_generated/models/query_orders_item_order.py +8 -0
  328. honeycomb/_generated/models/query_panel.py +114 -0
  329. honeycomb/_generated/models/query_panel_query_panel.py +143 -0
  330. honeycomb/_generated/models/query_panel_query_panel_query_style.py +9 -0
  331. honeycomb/_generated/models/query_result.py +130 -0
  332. honeycomb/_generated/models/query_result_details.py +156 -0
  333. honeycomb/_generated/models/query_result_details_data.py +188 -0
  334. honeycomb/_generated/models/query_result_details_links.py +85 -0
  335. honeycomb/_generated/models/query_result_links.py +85 -0
  336. honeycomb/_generated/models/query_results_data.py +89 -0
  337. honeycomb/_generated/models/query_results_data_data.py +71 -0
  338. honeycomb/_generated/models/query_results_series.py +97 -0
  339. honeycomb/_generated/models/recipient_properties.py +137 -0
  340. honeycomb/_generated/models/recipient_type.py +12 -0
  341. honeycomb/_generated/models/slack_recipient.py +160 -0
  342. honeycomb/_generated/models/slack_recipient_details.py +71 -0
  343. honeycomb/_generated/models/slack_recipient_type.py +7 -0
  344. honeycomb/_generated/models/slo.py +245 -0
  345. honeycomb/_generated/models/slo_create.py +245 -0
  346. honeycomb/_generated/models/slo_create_sli.py +75 -0
  347. honeycomb/_generated/models/slo_detailed_response.py +312 -0
  348. honeycomb/_generated/models/slo_detailed_response_status.py +10 -0
  349. honeycomb/_generated/models/slo_history.py +94 -0
  350. honeycomb/_generated/models/slo_history_request.py +93 -0
  351. honeycomb/_generated/models/slo_history_response.py +91 -0
  352. honeycomb/_generated/models/slo_panel.py +114 -0
  353. honeycomb/_generated/models/slo_panel_slo_panel.py +75 -0
  354. honeycomb/_generated/models/slo_sli.py +74 -0
  355. honeycomb/_generated/models/tag.py +79 -0
  356. honeycomb/_generated/models/team_relationship.py +78 -0
  357. honeycomb/_generated/models/team_relationship_team.py +78 -0
  358. honeycomb/_generated/models/team_relationship_team_data.py +82 -0
  359. honeycomb/_generated/models/team_relationship_team_data_type.py +7 -0
  360. honeycomb/_generated/models/template_variable_definition.py +81 -0
  361. honeycomb/_generated/models/text_panel.py +114 -0
  362. honeycomb/_generated/models/text_panel_text_panel.py +71 -0
  363. honeycomb/_generated/models/trigger_response.py +399 -0
  364. honeycomb/_generated/models/trigger_with_inline_query.py +390 -0
  365. honeycomb/_generated/models/trigger_with_inline_query_query.py +60 -0
  366. honeycomb/_generated/models/trigger_with_query_reference.py +376 -0
  367. honeycomb/_generated/models/update_board_view_request.py +107 -0
  368. honeycomb/_generated/models/update_environment_request.py +78 -0
  369. honeycomb/_generated/models/update_environment_request_data.py +98 -0
  370. honeycomb/_generated/models/update_environment_request_data_attributes.py +118 -0
  371. honeycomb/_generated/models/update_environment_request_data_attributes_settings.py +73 -0
  372. honeycomb/_generated/models/update_environment_request_data_type.py +7 -0
  373. honeycomb/_generated/models/update_exhaustion_time_burn_alert_request.py +202 -0
  374. honeycomb/_generated/models/update_pipeline_configuration_rollout.py +98 -0
  375. honeycomb/_generated/models/update_pipeline_configuration_rollout_attributes.py +75 -0
  376. honeycomb/_generated/models/update_pipeline_configuration_rollout_attributes_status.py +12 -0
  377. honeycomb/_generated/models/update_pipeline_configuration_rollout_request.py +78 -0
  378. honeycomb/_generated/models/update_pipeline_configuration_rollout_request_data.py +98 -0
  379. honeycomb/_generated/models/update_pipeline_configuration_rollout_request_data_attributes.py +75 -0
  380. honeycomb/_generated/models/update_pipeline_configuration_rollout_request_data_attributes_status.py +12 -0
  381. honeycomb/_generated/models/update_pipeline_configuration_rollout_request_data_type.py +7 -0
  382. honeycomb/_generated/models/update_pipeline_configuration_rollout_response.py +78 -0
  383. honeycomb/_generated/models/update_pipeline_configuration_rollout_type.py +7 -0
  384. honeycomb/_generated/models/user_relationship.py +78 -0
  385. honeycomb/_generated/models/user_relationship_data.py +82 -0
  386. honeycomb/_generated/models/user_relationship_data_type.py +7 -0
  387. honeycomb/_generated/models/validation_error.py +145 -0
  388. honeycomb/_generated/models/validation_error_type_detail_item.py +103 -0
  389. honeycomb/_generated/models/validation_error_type_detail_item_code.py +10 -0
  390. honeycomb/_generated/models/webhook_header.py +81 -0
  391. honeycomb/_generated/models/webhook_recipient.py +160 -0
  392. honeycomb/_generated/models/webhook_recipient_details.py +142 -0
  393. honeycomb/_generated/models/webhook_recipient_details_webhook_payloads.py +117 -0
  394. honeycomb/_generated/models/webhook_recipient_details_webhook_payloads_payload_templates.py +126 -0
  395. honeycomb/_generated/models/webhook_recipient_type.py +7 -0
  396. honeycomb/_generated/py.typed +1 -0
  397. honeycomb/_generated/types.py +46 -0
  398. honeycomb/auth.py +152 -0
  399. honeycomb/client.py +736 -0
  400. honeycomb/exceptions.py +236 -0
  401. honeycomb/models/__init__.py +157 -0
  402. honeycomb/models/api_keys.py +81 -0
  403. honeycomb/models/board_builder.py +387 -0
  404. honeycomb/models/boards.py +86 -0
  405. honeycomb/models/burn_alerts.py +124 -0
  406. honeycomb/models/columns.py +59 -0
  407. honeycomb/models/datasets.py +51 -0
  408. honeycomb/models/derived_columns.py +107 -0
  409. honeycomb/models/environments.py +106 -0
  410. honeycomb/models/events.py +35 -0
  411. honeycomb/models/marker_builder.py +136 -0
  412. honeycomb/models/markers.py +73 -0
  413. honeycomb/models/queries.py +210 -0
  414. honeycomb/models/query_annotations.py +63 -0
  415. honeycomb/models/query_builder.py +840 -0
  416. honeycomb/models/recipient_builder.py +248 -0
  417. honeycomb/models/recipients.py +43 -0
  418. honeycomb/models/service_map_dependencies.py +126 -0
  419. honeycomb/models/slo_builder.py +463 -0
  420. honeycomb/models/slos.py +66 -0
  421. honeycomb/models/tags_mixin.py +79 -0
  422. honeycomb/models/trigger_builder.py +561 -0
  423. honeycomb/models/triggers.py +208 -0
  424. honeycomb/resources/__init__.py +35 -0
  425. honeycomb/resources/_recipient_utils.py +156 -0
  426. honeycomb/resources/api_keys.py +303 -0
  427. honeycomb/resources/base.py +142 -0
  428. honeycomb/resources/boards.py +350 -0
  429. honeycomb/resources/burn_alerts.py +205 -0
  430. honeycomb/resources/columns.py +185 -0
  431. honeycomb/resources/datasets.py +163 -0
  432. honeycomb/resources/derived_columns.py +233 -0
  433. honeycomb/resources/environments.py +295 -0
  434. honeycomb/resources/events.py +156 -0
  435. honeycomb/resources/markers.py +334 -0
  436. honeycomb/resources/queries.py +256 -0
  437. honeycomb/resources/query_annotations.py +207 -0
  438. honeycomb/resources/query_results.py +886 -0
  439. honeycomb/resources/recipients.py +202 -0
  440. honeycomb/resources/service_map_dependencies.py +389 -0
  441. honeycomb/resources/slos.py +353 -0
  442. honeycomb/resources/triggers.py +284 -0
  443. honeycomb/tools/__init__.py +85 -0
  444. honeycomb/tools/__main__.py +204 -0
  445. honeycomb/tools/builders.py +512 -0
  446. honeycomb/tools/descriptions.py +523 -0
  447. honeycomb/tools/executor.py +860 -0
  448. honeycomb/tools/generator.py +2386 -0
  449. honeycomb/tools/schemas.py +184 -0
  450. honeycomb_api-0.1.0.dist-info/METADATA +451 -0
  451. honeycomb_api-0.1.0.dist-info/RECORD +453 -0
  452. honeycomb_api-0.1.0.dist-info/WHEEL +4 -0
  453. honeycomb_api-0.1.0.dist-info/licenses/LICENSE +21 -0
@@ -0,0 +1,78 @@
1
+ from typing import Any, TypeVar, Optional, BinaryIO, TextIO, TYPE_CHECKING
2
+
3
+ from attrs import define as _attrs_define
4
+ from attrs import field as _attrs_field
5
+
6
+ from ..types import UNSET, Unset
7
+
8
+
9
+
10
+
11
+
12
+
13
+
14
+ T = TypeVar("T", bound="PresetFilter")
15
+
16
+
17
+
18
+ @_attrs_define
19
+ class PresetFilter:
20
+ """
21
+ Attributes:
22
+ column (str): Original name of the column to alias.
23
+ alias (str): The alias of the preset filter.
24
+ """
25
+
26
+ column: str
27
+ alias: str
28
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
29
+
30
+
31
+ def to_dict(self) -> dict[str, Any]:
32
+ column = self.column
33
+
34
+ alias = self.alias
35
+
36
+
37
+ field_dict: dict[str, Any] = {}
38
+ field_dict.update(self.additional_properties)
39
+ field_dict.update({
40
+ "column": column,
41
+ "alias": alias,
42
+ })
43
+
44
+ return field_dict
45
+
46
+
47
+
48
+ @classmethod
49
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
50
+ d = src_dict.copy()
51
+ column = d.pop("column")
52
+
53
+ alias = d.pop("alias")
54
+
55
+ preset_filter = cls(
56
+ column=column,
57
+ alias=alias,
58
+ )
59
+
60
+
61
+ preset_filter.additional_properties = d
62
+ return preset_filter
63
+
64
+ @property
65
+ def additional_keys(self) -> list[str]:
66
+ return list(self.additional_properties.keys())
67
+
68
+ def __getitem__(self, key: str) -> Any:
69
+ return self.additional_properties[key]
70
+
71
+ def __setitem__(self, key: str, value: Any) -> None:
72
+ self.additional_properties[key] = value
73
+
74
+ def __delitem__(self, key: str) -> None:
75
+ del self.additional_properties[key]
76
+
77
+ def __contains__(self, key: str) -> bool:
78
+ return key in self.additional_properties
@@ -0,0 +1,346 @@
1
+ from typing import Any, TypeVar, Optional, BinaryIO, TextIO, TYPE_CHECKING
2
+
3
+ from attrs import define as _attrs_define
4
+ from attrs import field as _attrs_field
5
+
6
+ from ..types import UNSET, Unset
7
+
8
+ from ..models.query_compare_time_offset_seconds import QueryCompareTimeOffsetSeconds
9
+ from ..models.query_filter_combination import QueryFilterCombination
10
+ from ..types import UNSET, Unset
11
+ from typing import cast
12
+ from typing import Union
13
+
14
+ if TYPE_CHECKING:
15
+ from ..models.query_calculated_fields_item import QueryCalculatedFieldsItem
16
+ from ..models.query_calculations_item import QueryCalculationsItem
17
+ from ..models.query_orders_item import QueryOrdersItem
18
+ from ..models.query_filters_item import QueryFiltersItem
19
+ from ..models.query_havings_item import QueryHavingsItem
20
+
21
+
22
+
23
+
24
+
25
+ T = TypeVar("T", bound="Query")
26
+
27
+
28
+
29
+ @_attrs_define
30
+ class Query:
31
+ """
32
+ Attributes:
33
+ id (Union[Unset, str]):
34
+ breakdowns (Union[Unset, list[str]]): the columns by which to break events down into groups
35
+ calculations (Union[Unset, list['QueryCalculationsItem']]): the calculations to return as a time series and
36
+ summary table
37
+ filters (Union[Unset, list['QueryFiltersItem']]): the filters with which to restrict the considered events
38
+ filter_combination (Union[Unset, QueryFilterCombination]): set to "OR" to match ANY filter in the filter list
39
+ Default: QueryFilterCombination.AND.
40
+ granularity (Union[Unset, int]): The time resolution of the query's graph, in seconds. Given a query time range
41
+ T, valid values (T/1000...T/1). If left blank, granularity may be set to a sub-second value for queries with
42
+ short time ranges.
43
+ orders (Union[Unset, list['QueryOrdersItem']]): The terms on which to order the query results. Each term must
44
+ appear in either the `breakdowns` field or the `calculations` field.
45
+ limit (Union[Unset, int]): The maximum number of unique groups returned in 'results'. Aggregating many unique
46
+ groups across a large time range is computationally expensive, and too high a limit with too many unique groups
47
+ may cause queries to fail completely. Limiting the results to only the needed values can significantly speed up
48
+ queries.
49
+ The normal allowed maximum value when creating a query is 1_000. When running 'disable_series' queries, this can
50
+ be overridden to be up to 10_000, so the maximum value returned from the API when fetching a query may be up to
51
+ 10_000.
52
+ Default: 100.
53
+ start_time (Union[Unset, int]): Absolute start time of query, in seconds since UNIX epoch. Must be <=
54
+ `end_time`.
55
+ Default: 1676399428.
56
+ end_time (Union[Unset, int]): Absolute end time of query, in seconds since UNIX epoch. Default: 1676467828.
57
+ time_range (Union[Unset, int]): Time range of query in seconds. Can be used with either `start_time` (seconds
58
+ after `start_time`), `end_time` (seconds before `end_time`), or without either (seconds before now).
59
+ Default: 7200.
60
+ havings (Union[Unset, list['QueryHavingsItem']]): The Having clause allows you to filter on the results table.
61
+ This operation is distinct from the Where clause, which filters the underlying events. Order By allows you to
62
+ order the results, and Having filters them.
63
+ calculated_fields (Union[Unset, list['QueryCalculatedFieldsItem']]): Computed properties that are calculated by
64
+ a formula.
65
+ compare_time_offset_seconds (Union[Unset, QueryCompareTimeOffsetSeconds]): When set, offsets the query's time
66
+ range by this number of seconds into the past, allowing comparison with historical data from an earlier time
67
+ period. For example, setting this to 86400 (24 hours) will compare current results against data from 24 hours
68
+ ago.
69
+ ##### Note
70
+ - The offset must be greater than or equal to the query's time range duration.
71
+
72
+ ##### Allowed values
73
+ - same time range as query time range
74
+ - `1800` - 30 minutes
75
+ - `3600` - 1 hour
76
+ - `7200` - 2 hours
77
+ - `28800` - 8 hours
78
+ - `86400` - 24 hours
79
+ - `604800` - 7 days
80
+ - `2419200` - 28 days
81
+ - `15724800` - 6 months
82
+ """
83
+
84
+ id: Union[Unset, str] = UNSET
85
+ breakdowns: Union[Unset, list[str]] = UNSET
86
+ calculations: Union[Unset, list['QueryCalculationsItem']] = UNSET
87
+ filters: Union[Unset, list['QueryFiltersItem']] = UNSET
88
+ filter_combination: Union[Unset, QueryFilterCombination] = QueryFilterCombination.AND
89
+ granularity: Union[Unset, int] = UNSET
90
+ orders: Union[Unset, list['QueryOrdersItem']] = UNSET
91
+ limit: Union[Unset, int] = 100
92
+ start_time: Union[Unset, int] = 1676399428
93
+ end_time: Union[Unset, int] = 1676467828
94
+ time_range: Union[Unset, int] = 7200
95
+ havings: Union[Unset, list['QueryHavingsItem']] = UNSET
96
+ calculated_fields: Union[Unset, list['QueryCalculatedFieldsItem']] = UNSET
97
+ compare_time_offset_seconds: Union[Unset, QueryCompareTimeOffsetSeconds] = UNSET
98
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
99
+
100
+
101
+ def to_dict(self) -> dict[str, Any]:
102
+ from ..models.query_calculated_fields_item import QueryCalculatedFieldsItem
103
+ from ..models.query_calculations_item import QueryCalculationsItem
104
+ from ..models.query_orders_item import QueryOrdersItem
105
+ from ..models.query_filters_item import QueryFiltersItem
106
+ from ..models.query_havings_item import QueryHavingsItem
107
+ id = self.id
108
+
109
+ breakdowns: Union[Unset, list[str]] = UNSET
110
+ if not isinstance(self.breakdowns, Unset):
111
+ breakdowns = self.breakdowns
112
+
113
+
114
+
115
+ calculations: Union[Unset, list[dict[str, Any]]] = UNSET
116
+ if not isinstance(self.calculations, Unset):
117
+ calculations = []
118
+ for calculations_item_data in self.calculations:
119
+ calculations_item = calculations_item_data.to_dict()
120
+ calculations.append(calculations_item)
121
+
122
+
123
+
124
+ filters: Union[Unset, list[dict[str, Any]]] = UNSET
125
+ if not isinstance(self.filters, Unset):
126
+ filters = []
127
+ for filters_item_data in self.filters:
128
+ filters_item = filters_item_data.to_dict()
129
+ filters.append(filters_item)
130
+
131
+
132
+
133
+ filter_combination: Union[Unset, str] = UNSET
134
+ if not isinstance(self.filter_combination, Unset):
135
+ filter_combination = self.filter_combination.value
136
+
137
+
138
+ granularity = self.granularity
139
+
140
+ orders: Union[Unset, list[dict[str, Any]]] = UNSET
141
+ if not isinstance(self.orders, Unset):
142
+ orders = []
143
+ for orders_item_data in self.orders:
144
+ orders_item = orders_item_data.to_dict()
145
+ orders.append(orders_item)
146
+
147
+
148
+
149
+ limit = self.limit
150
+
151
+ start_time = self.start_time
152
+
153
+ end_time = self.end_time
154
+
155
+ time_range = self.time_range
156
+
157
+ havings: Union[Unset, list[dict[str, Any]]] = UNSET
158
+ if not isinstance(self.havings, Unset):
159
+ havings = []
160
+ for havings_item_data in self.havings:
161
+ havings_item = havings_item_data.to_dict()
162
+ havings.append(havings_item)
163
+
164
+
165
+
166
+ calculated_fields: Union[Unset, list[dict[str, Any]]] = UNSET
167
+ if not isinstance(self.calculated_fields, Unset):
168
+ calculated_fields = []
169
+ for calculated_fields_item_data in self.calculated_fields:
170
+ calculated_fields_item = calculated_fields_item_data.to_dict()
171
+ calculated_fields.append(calculated_fields_item)
172
+
173
+
174
+
175
+ compare_time_offset_seconds: Union[Unset, int] = UNSET
176
+ if not isinstance(self.compare_time_offset_seconds, Unset):
177
+ compare_time_offset_seconds = self.compare_time_offset_seconds.value
178
+
179
+
180
+
181
+ field_dict: dict[str, Any] = {}
182
+ field_dict.update(self.additional_properties)
183
+ field_dict.update({
184
+ })
185
+ if id is not UNSET:
186
+ field_dict["id"] = id
187
+ if breakdowns is not UNSET:
188
+ field_dict["breakdowns"] = breakdowns
189
+ if calculations is not UNSET:
190
+ field_dict["calculations"] = calculations
191
+ if filters is not UNSET:
192
+ field_dict["filters"] = filters
193
+ if filter_combination is not UNSET:
194
+ field_dict["filter_combination"] = filter_combination
195
+ if granularity is not UNSET:
196
+ field_dict["granularity"] = granularity
197
+ if orders is not UNSET:
198
+ field_dict["orders"] = orders
199
+ if limit is not UNSET:
200
+ field_dict["limit"] = limit
201
+ if start_time is not UNSET:
202
+ field_dict["start_time"] = start_time
203
+ if end_time is not UNSET:
204
+ field_dict["end_time"] = end_time
205
+ if time_range is not UNSET:
206
+ field_dict["time_range"] = time_range
207
+ if havings is not UNSET:
208
+ field_dict["havings"] = havings
209
+ if calculated_fields is not UNSET:
210
+ field_dict["calculated_fields"] = calculated_fields
211
+ if compare_time_offset_seconds is not UNSET:
212
+ field_dict["compare_time_offset_seconds"] = compare_time_offset_seconds
213
+
214
+ return field_dict
215
+
216
+
217
+
218
+ @classmethod
219
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
220
+ from ..models.query_calculated_fields_item import QueryCalculatedFieldsItem
221
+ from ..models.query_calculations_item import QueryCalculationsItem
222
+ from ..models.query_orders_item import QueryOrdersItem
223
+ from ..models.query_filters_item import QueryFiltersItem
224
+ from ..models.query_havings_item import QueryHavingsItem
225
+ d = src_dict.copy()
226
+ id = d.pop("id", UNSET)
227
+
228
+ breakdowns = cast(list[str], d.pop("breakdowns", UNSET))
229
+
230
+
231
+ calculations = []
232
+ _calculations = d.pop("calculations", UNSET)
233
+ for calculations_item_data in (_calculations or []):
234
+ calculations_item = QueryCalculationsItem.from_dict(calculations_item_data)
235
+
236
+
237
+
238
+ calculations.append(calculations_item)
239
+
240
+
241
+ filters = []
242
+ _filters = d.pop("filters", UNSET)
243
+ for filters_item_data in (_filters or []):
244
+ filters_item = QueryFiltersItem.from_dict(filters_item_data)
245
+
246
+
247
+
248
+ filters.append(filters_item)
249
+
250
+
251
+ _filter_combination = d.pop("filter_combination", UNSET)
252
+ filter_combination: Union[Unset, QueryFilterCombination]
253
+ if isinstance(_filter_combination, Unset):
254
+ filter_combination = UNSET
255
+ else:
256
+ filter_combination = QueryFilterCombination(_filter_combination)
257
+
258
+
259
+
260
+
261
+ granularity = d.pop("granularity", UNSET)
262
+
263
+ orders = []
264
+ _orders = d.pop("orders", UNSET)
265
+ for orders_item_data in (_orders or []):
266
+ orders_item = QueryOrdersItem.from_dict(orders_item_data)
267
+
268
+
269
+
270
+ orders.append(orders_item)
271
+
272
+
273
+ limit = d.pop("limit", UNSET)
274
+
275
+ start_time = d.pop("start_time", UNSET)
276
+
277
+ end_time = d.pop("end_time", UNSET)
278
+
279
+ time_range = d.pop("time_range", UNSET)
280
+
281
+ havings = []
282
+ _havings = d.pop("havings", UNSET)
283
+ for havings_item_data in (_havings or []):
284
+ havings_item = QueryHavingsItem.from_dict(havings_item_data)
285
+
286
+
287
+
288
+ havings.append(havings_item)
289
+
290
+
291
+ calculated_fields = []
292
+ _calculated_fields = d.pop("calculated_fields", UNSET)
293
+ for calculated_fields_item_data in (_calculated_fields or []):
294
+ calculated_fields_item = QueryCalculatedFieldsItem.from_dict(calculated_fields_item_data)
295
+
296
+
297
+
298
+ calculated_fields.append(calculated_fields_item)
299
+
300
+
301
+ _compare_time_offset_seconds = d.pop("compare_time_offset_seconds", UNSET)
302
+ compare_time_offset_seconds: Union[Unset, QueryCompareTimeOffsetSeconds]
303
+ if isinstance(_compare_time_offset_seconds, Unset):
304
+ compare_time_offset_seconds = UNSET
305
+ else:
306
+ compare_time_offset_seconds = QueryCompareTimeOffsetSeconds(_compare_time_offset_seconds)
307
+
308
+
309
+
310
+
311
+ query = cls(
312
+ id=id,
313
+ breakdowns=breakdowns,
314
+ calculations=calculations,
315
+ filters=filters,
316
+ filter_combination=filter_combination,
317
+ granularity=granularity,
318
+ orders=orders,
319
+ limit=limit,
320
+ start_time=start_time,
321
+ end_time=end_time,
322
+ time_range=time_range,
323
+ havings=havings,
324
+ calculated_fields=calculated_fields,
325
+ compare_time_offset_seconds=compare_time_offset_seconds,
326
+ )
327
+
328
+
329
+ query.additional_properties = d
330
+ return query
331
+
332
+ @property
333
+ def additional_keys(self) -> list[str]:
334
+ return list(self.additional_properties.keys())
335
+
336
+ def __getitem__(self, key: str) -> Any:
337
+ return self.additional_properties[key]
338
+
339
+ def __setitem__(self, key: str, value: Any) -> None:
340
+ self.additional_properties[key] = value
341
+
342
+ def __delitem__(self, key: str) -> None:
343
+ del self.additional_properties[key]
344
+
345
+ def __contains__(self, key: str) -> bool:
346
+ return key in self.additional_properties
@@ -0,0 +1,166 @@
1
+ from typing import Any, TypeVar, Optional, BinaryIO, TextIO, TYPE_CHECKING
2
+
3
+ from attrs import define as _attrs_define
4
+ from attrs import field as _attrs_field
5
+
6
+ from ..types import UNSET, Unset
7
+
8
+ from ..models.query_annotation_source import QueryAnnotationSource
9
+ from ..types import UNSET, Unset
10
+ from dateutil.parser import isoparse
11
+ from typing import cast
12
+ from typing import Union
13
+ import datetime
14
+
15
+
16
+
17
+
18
+
19
+
20
+ T = TypeVar("T", bound="QueryAnnotation")
21
+
22
+
23
+
24
+ @_attrs_define
25
+ class QueryAnnotation:
26
+ """ A Query Annotation consists of a name and description associated with a query to add context when collaborating.
27
+
28
+ Attributes:
29
+ name (str): A name for the Query. Example: My Named Query.
30
+ query_id (str): The ID of the Query that the annotation describes. **Note**: Once created, it is NOT possible to
31
+ change the query ID associated with an annotation. It is possible to have multiple annotations associated with a
32
+ Query.
33
+ Example: mabAMpSPDjH.
34
+ description (Union[Unset, str]): A description of the Query. Example: A nice description of My Named Query.
35
+ id (Union[Unset, str]): The unique identifier (ID) of a Query Annotation. Example: sGUnkBHgRFN.
36
+ created_at (Union[Unset, datetime.datetime]): ISO8601 formatted time when the Query Annotation was created.
37
+ Example: 2022-10-26T21:36:04Z.
38
+ updated_at (Union[Unset, datetime.datetime]): ISO8601 formatted time when the Query Annotation was updated.
39
+ Example: 2022-12-04T08:14:26Z.
40
+ source (Union[Unset, QueryAnnotationSource]): The source of the Query Annotation. Example: query.
41
+ """
42
+
43
+ name: str
44
+ query_id: str
45
+ description: Union[Unset, str] = UNSET
46
+ id: Union[Unset, str] = UNSET
47
+ created_at: Union[Unset, datetime.datetime] = UNSET
48
+ updated_at: Union[Unset, datetime.datetime] = UNSET
49
+ source: Union[Unset, QueryAnnotationSource] = UNSET
50
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
51
+
52
+
53
+ def to_dict(self) -> dict[str, Any]:
54
+ name = self.name
55
+
56
+ query_id = self.query_id
57
+
58
+ description = self.description
59
+
60
+ id = self.id
61
+
62
+ created_at: Union[Unset, str] = UNSET
63
+ if not isinstance(self.created_at, Unset):
64
+ created_at = self.created_at.isoformat()
65
+
66
+ updated_at: Union[Unset, str] = UNSET
67
+ if not isinstance(self.updated_at, Unset):
68
+ updated_at = self.updated_at.isoformat()
69
+
70
+ source: Union[Unset, str] = UNSET
71
+ if not isinstance(self.source, Unset):
72
+ source = self.source.value
73
+
74
+
75
+
76
+ field_dict: dict[str, Any] = {}
77
+ field_dict.update(self.additional_properties)
78
+ field_dict.update({
79
+ "name": name,
80
+ "query_id": query_id,
81
+ })
82
+ if description is not UNSET:
83
+ field_dict["description"] = description
84
+ if id is not UNSET:
85
+ field_dict["id"] = id
86
+ if created_at is not UNSET:
87
+ field_dict["created_at"] = created_at
88
+ if updated_at is not UNSET:
89
+ field_dict["updated_at"] = updated_at
90
+ if source is not UNSET:
91
+ field_dict["source"] = source
92
+
93
+ return field_dict
94
+
95
+
96
+
97
+ @classmethod
98
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
99
+ d = src_dict.copy()
100
+ name = d.pop("name")
101
+
102
+ query_id = d.pop("query_id")
103
+
104
+ description = d.pop("description", UNSET)
105
+
106
+ id = d.pop("id", UNSET)
107
+
108
+ _created_at = d.pop("created_at", UNSET)
109
+ created_at: Union[Unset, datetime.datetime]
110
+ if isinstance(_created_at, Unset):
111
+ created_at = UNSET
112
+ else:
113
+ created_at = isoparse(_created_at)
114
+
115
+
116
+
117
+
118
+ _updated_at = d.pop("updated_at", UNSET)
119
+ updated_at: Union[Unset, datetime.datetime]
120
+ if isinstance(_updated_at, Unset):
121
+ updated_at = UNSET
122
+ else:
123
+ updated_at = isoparse(_updated_at)
124
+
125
+
126
+
127
+
128
+ _source = d.pop("source", UNSET)
129
+ source: Union[Unset, QueryAnnotationSource]
130
+ if isinstance(_source, Unset):
131
+ source = UNSET
132
+ else:
133
+ source = QueryAnnotationSource(_source)
134
+
135
+
136
+
137
+
138
+ query_annotation = cls(
139
+ name=name,
140
+ query_id=query_id,
141
+ description=description,
142
+ id=id,
143
+ created_at=created_at,
144
+ updated_at=updated_at,
145
+ source=source,
146
+ )
147
+
148
+
149
+ query_annotation.additional_properties = d
150
+ return query_annotation
151
+
152
+ @property
153
+ def additional_keys(self) -> list[str]:
154
+ return list(self.additional_properties.keys())
155
+
156
+ def __getitem__(self, key: str) -> Any:
157
+ return self.additional_properties[key]
158
+
159
+ def __setitem__(self, key: str, value: Any) -> None:
160
+ self.additional_properties[key] = value
161
+
162
+ def __delitem__(self, key: str) -> None:
163
+ del self.additional_properties[key]
164
+
165
+ def __contains__(self, key: str) -> bool:
166
+ return key in self.additional_properties
@@ -0,0 +1,8 @@
1
+ from enum import Enum
2
+
3
+ class QueryAnnotationSource(str, Enum):
4
+ BOARD = "board"
5
+ QUERY = "query"
6
+
7
+ def __str__(self) -> str:
8
+ return str(self.value)
@@ -0,0 +1,80 @@
1
+ from typing import Any, TypeVar, Optional, BinaryIO, TextIO, TYPE_CHECKING
2
+
3
+ from attrs import define as _attrs_define
4
+ from attrs import field as _attrs_field
5
+
6
+ from ..types import UNSET, Unset
7
+
8
+
9
+
10
+
11
+
12
+
13
+
14
+ T = TypeVar("T", bound="QueryCalculatedFieldsItem")
15
+
16
+
17
+
18
+ @_attrs_define
19
+ class QueryCalculatedFieldsItem:
20
+ """
21
+ Attributes:
22
+ name (str): The field name
23
+ expression (str): The formula for your Calculated Field. To learn more about syntax and available functions, and
24
+ to explore some example formulas, visit [Calculated Field Formula
25
+ Reference](https://docs.honeycomb.io/reference/derived-column-formula/).
26
+ """
27
+
28
+ name: str
29
+ expression: str
30
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
31
+
32
+
33
+ def to_dict(self) -> dict[str, Any]:
34
+ name = self.name
35
+
36
+ expression = self.expression
37
+
38
+
39
+ field_dict: dict[str, Any] = {}
40
+ field_dict.update(self.additional_properties)
41
+ field_dict.update({
42
+ "name": name,
43
+ "expression": expression,
44
+ })
45
+
46
+ return field_dict
47
+
48
+
49
+
50
+ @classmethod
51
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
52
+ d = src_dict.copy()
53
+ name = d.pop("name")
54
+
55
+ expression = d.pop("expression")
56
+
57
+ query_calculated_fields_item = cls(
58
+ name=name,
59
+ expression=expression,
60
+ )
61
+
62
+
63
+ query_calculated_fields_item.additional_properties = d
64
+ return query_calculated_fields_item
65
+
66
+ @property
67
+ def additional_keys(self) -> list[str]:
68
+ return list(self.additional_properties.keys())
69
+
70
+ def __getitem__(self, key: str) -> Any:
71
+ return self.additional_properties[key]
72
+
73
+ def __setitem__(self, key: str, value: Any) -> None:
74
+ self.additional_properties[key] = value
75
+
76
+ def __delitem__(self, key: str) -> None:
77
+ del self.additional_properties[key]
78
+
79
+ def __contains__(self, key: str) -> bool:
80
+ return key in self.additional_properties