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,399 @@
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.base_trigger_alert_type import BaseTriggerAlertType
9
+ from ..models.base_trigger_evaluation_schedule_type import BaseTriggerEvaluationScheduleType
10
+ from ..types import UNSET, Unset
11
+ from dateutil.parser import isoparse
12
+ from typing import cast
13
+ from typing import cast, Union
14
+ from typing import Union
15
+ import datetime
16
+
17
+ if TYPE_CHECKING:
18
+ from ..models.base_trigger_threshold import BaseTriggerThreshold
19
+ from ..models.tag import Tag
20
+ from ..models.base_trigger_evaluation_schedule import BaseTriggerEvaluationSchedule
21
+ from ..models.trigger_with_inline_query_query import TriggerWithInlineQueryQuery
22
+ from ..models.base_trigger_baseline_details_type_0 import BaseTriggerBaselineDetailsType0
23
+ from ..models.notification_recipient import NotificationRecipient
24
+
25
+
26
+
27
+
28
+
29
+ T = TypeVar("T", bound="TriggerResponse")
30
+
31
+
32
+
33
+ @_attrs_define
34
+ class TriggerResponse:
35
+ """
36
+ Attributes:
37
+ id (Union[Unset, str]): The unique identifier (ID) for this Trigger.
38
+ dataset_slug (Union[Unset, str]): The slug of the dataset this trigger belongs to. For environment-wide
39
+ triggers, this will be "__all__".
40
+ name (Union[Unset, str]): A short, human-readable name for this Trigger, which will be displayed in the UI and
41
+ when the trigger fires.
42
+ description (Union[Unset, str]): A longer description, displayed on the Trigger's detail page.
43
+ tags (Union[Unset, list['Tag']]): A list of key-value pairs to help identify the Trigger. Example: [{'key':
44
+ 'team', 'value': 'blue'}].
45
+ threshold (Union[Unset, BaseTriggerThreshold]): The threshold over which the trigger will fire, specified as
46
+ both an operator and a value.
47
+ frequency (Union[Unset, int]): The interval in seconds in which to check the results of the query’s calculation
48
+ against the threshold. Cannot be more than 4 times the query's duration (i.e. `duration <= frequency*4`). See [A
49
+ Caveat on Time](https://docs.honeycomb.io/investigate/collaborate/share-query/define-query-json/#how-to-specify-
50
+ an-absolute-time-range) for more information on specifying a query's duration. minimum: 60 maximum: 86400
51
+ multipleOf: 60 default: 900
52
+ alert_type (Union[Unset, BaseTriggerAlertType]): How often to fire an alert when a trigger threshold is crossed.
53
+ - `on_change` sends a trigger notification when the result of the specified calculation crosses the threshold.
54
+ The trigger resolves only when the result of the query no longer satisfies the threshold condition.
55
+ - `on_true` keeps sending a trigger notification at current frequency when and while the threshold is met.
56
+ (This reflects the same behavior as the "Send an alert every time a threshold is met" checkbox in the
57
+ Honeycomb UI.)
58
+ Default: BaseTriggerAlertType.ON_CHANGE.
59
+ disabled (Union[Unset, bool]): If true, the trigger will not be evaluated and alerts will not be sent.
60
+ Default: False.
61
+ triggered (Union[Unset, bool]): If true, the trigger has crossed its specified threshold without resolving.
62
+ recipients (Union[Unset, list['NotificationRecipient']]): A list of [Recipients](/api/recipients/) to notify
63
+ when the Trigger fires. Using `type`+`target` is deprecated. First, create the Recipient via the Recipients API,
64
+ and then specify the ID.
65
+ evaluation_schedule_type (Union[Unset, BaseTriggerEvaluationScheduleType]): The schedule type used by the
66
+ trigger. The default is frequency, where the trigger runs at the
67
+ specified frequency. The window type means that the trigger will run at the specified frequency,
68
+ but only in the time window specified in the evaluation_schedule field.
69
+ evaluation_schedule (Union[Unset, BaseTriggerEvaluationSchedule]): A schedule that determines when the trigger
70
+ is run. When the time is within the scheduled
71
+ window, the trigger will be run at the specified frequency. Outside of the window, the trigger
72
+ will not be run.
73
+ created_at (Union[Unset, datetime.datetime]):
74
+ updated_at (Union[Unset, datetime.datetime]):
75
+ baseline_details (Union['BaseTriggerBaselineDetailsType0', Any, Unset]):
76
+ query (Union[Unset, TriggerWithInlineQueryQuery]): A query ID or an inline query that is a strict subset of a
77
+ Query Specification.
78
+ query_id (Union[Unset, str]): The ID of a Query that meets the criteria for being used as a Trigger, per above.
79
+ """
80
+
81
+ id: Union[Unset, str] = UNSET
82
+ dataset_slug: Union[Unset, str] = UNSET
83
+ name: Union[Unset, str] = UNSET
84
+ description: Union[Unset, str] = UNSET
85
+ tags: Union[Unset, list['Tag']] = UNSET
86
+ threshold: Union[Unset, 'BaseTriggerThreshold'] = UNSET
87
+ frequency: Union[Unset, int] = UNSET
88
+ alert_type: Union[Unset, BaseTriggerAlertType] = BaseTriggerAlertType.ON_CHANGE
89
+ disabled: Union[Unset, bool] = False
90
+ triggered: Union[Unset, bool] = UNSET
91
+ recipients: Union[Unset, list['NotificationRecipient']] = UNSET
92
+ evaluation_schedule_type: Union[Unset, BaseTriggerEvaluationScheduleType] = UNSET
93
+ evaluation_schedule: Union[Unset, 'BaseTriggerEvaluationSchedule'] = UNSET
94
+ created_at: Union[Unset, datetime.datetime] = UNSET
95
+ updated_at: Union[Unset, datetime.datetime] = UNSET
96
+ baseline_details: Union['BaseTriggerBaselineDetailsType0', Any, Unset] = UNSET
97
+ query: Union[Unset, 'TriggerWithInlineQueryQuery'] = UNSET
98
+ query_id: Union[Unset, str] = UNSET
99
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
100
+
101
+
102
+ def to_dict(self) -> dict[str, Any]:
103
+ from ..models.base_trigger_threshold import BaseTriggerThreshold
104
+ from ..models.tag import Tag
105
+ from ..models.base_trigger_evaluation_schedule import BaseTriggerEvaluationSchedule
106
+ from ..models.trigger_with_inline_query_query import TriggerWithInlineQueryQuery
107
+ from ..models.base_trigger_baseline_details_type_0 import BaseTriggerBaselineDetailsType0
108
+ from ..models.notification_recipient import NotificationRecipient
109
+ id = self.id
110
+
111
+ dataset_slug = self.dataset_slug
112
+
113
+ name = self.name
114
+
115
+ description = self.description
116
+
117
+ tags: Union[Unset, list[dict[str, Any]]] = UNSET
118
+ if not isinstance(self.tags, Unset):
119
+ tags = []
120
+ for tags_item_data in self.tags:
121
+ tags_item = tags_item_data.to_dict()
122
+ tags.append(tags_item)
123
+
124
+
125
+
126
+ threshold: Union[Unset, dict[str, Any]] = UNSET
127
+ if not isinstance(self.threshold, Unset):
128
+ threshold = self.threshold.to_dict()
129
+
130
+ frequency = self.frequency
131
+
132
+ alert_type: Union[Unset, str] = UNSET
133
+ if not isinstance(self.alert_type, Unset):
134
+ alert_type = self.alert_type.value
135
+
136
+
137
+ disabled = self.disabled
138
+
139
+ triggered = self.triggered
140
+
141
+ recipients: Union[Unset, list[dict[str, Any]]] = UNSET
142
+ if not isinstance(self.recipients, Unset):
143
+ recipients = []
144
+ for recipients_item_data in self.recipients:
145
+ recipients_item = recipients_item_data.to_dict()
146
+ recipients.append(recipients_item)
147
+
148
+
149
+
150
+ evaluation_schedule_type: Union[Unset, str] = UNSET
151
+ if not isinstance(self.evaluation_schedule_type, Unset):
152
+ evaluation_schedule_type = self.evaluation_schedule_type.value
153
+
154
+
155
+ evaluation_schedule: Union[Unset, dict[str, Any]] = UNSET
156
+ if not isinstance(self.evaluation_schedule, Unset):
157
+ evaluation_schedule = self.evaluation_schedule.to_dict()
158
+
159
+ created_at: Union[Unset, str] = UNSET
160
+ if not isinstance(self.created_at, Unset):
161
+ created_at = self.created_at.isoformat()
162
+
163
+ updated_at: Union[Unset, str] = UNSET
164
+ if not isinstance(self.updated_at, Unset):
165
+ updated_at = self.updated_at.isoformat()
166
+
167
+ baseline_details: Union[Any, Unset, dict[str, Any]]
168
+ if isinstance(self.baseline_details, Unset):
169
+ baseline_details = UNSET
170
+ elif isinstance(self.baseline_details, BaseTriggerBaselineDetailsType0):
171
+ baseline_details = self.baseline_details.to_dict()
172
+ else:
173
+ baseline_details = self.baseline_details
174
+
175
+ query: Union[Unset, dict[str, Any]] = UNSET
176
+ if not isinstance(self.query, Unset):
177
+ query = self.query.to_dict()
178
+
179
+ query_id = self.query_id
180
+
181
+
182
+ field_dict: dict[str, Any] = {}
183
+ field_dict.update(self.additional_properties)
184
+ field_dict.update({
185
+ })
186
+ if id is not UNSET:
187
+ field_dict["id"] = id
188
+ if dataset_slug is not UNSET:
189
+ field_dict["dataset_slug"] = dataset_slug
190
+ if name is not UNSET:
191
+ field_dict["name"] = name
192
+ if description is not UNSET:
193
+ field_dict["description"] = description
194
+ if tags is not UNSET:
195
+ field_dict["tags"] = tags
196
+ if threshold is not UNSET:
197
+ field_dict["threshold"] = threshold
198
+ if frequency is not UNSET:
199
+ field_dict["frequency"] = frequency
200
+ if alert_type is not UNSET:
201
+ field_dict["alert_type"] = alert_type
202
+ if disabled is not UNSET:
203
+ field_dict["disabled"] = disabled
204
+ if triggered is not UNSET:
205
+ field_dict["triggered"] = triggered
206
+ if recipients is not UNSET:
207
+ field_dict["recipients"] = recipients
208
+ if evaluation_schedule_type is not UNSET:
209
+ field_dict["evaluation_schedule_type"] = evaluation_schedule_type
210
+ if evaluation_schedule is not UNSET:
211
+ field_dict["evaluation_schedule"] = evaluation_schedule
212
+ if created_at is not UNSET:
213
+ field_dict["created_at"] = created_at
214
+ if updated_at is not UNSET:
215
+ field_dict["updated_at"] = updated_at
216
+ if baseline_details is not UNSET:
217
+ field_dict["baseline_details"] = baseline_details
218
+ if query is not UNSET:
219
+ field_dict["query"] = query
220
+ if query_id is not UNSET:
221
+ field_dict["query_id"] = query_id
222
+
223
+ return field_dict
224
+
225
+
226
+
227
+ @classmethod
228
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
229
+ from ..models.base_trigger_threshold import BaseTriggerThreshold
230
+ from ..models.tag import Tag
231
+ from ..models.base_trigger_evaluation_schedule import BaseTriggerEvaluationSchedule
232
+ from ..models.trigger_with_inline_query_query import TriggerWithInlineQueryQuery
233
+ from ..models.base_trigger_baseline_details_type_0 import BaseTriggerBaselineDetailsType0
234
+ from ..models.notification_recipient import NotificationRecipient
235
+ d = src_dict.copy()
236
+ id = d.pop("id", UNSET)
237
+
238
+ dataset_slug = d.pop("dataset_slug", UNSET)
239
+
240
+ name = d.pop("name", UNSET)
241
+
242
+ description = d.pop("description", UNSET)
243
+
244
+ tags = []
245
+ _tags = d.pop("tags", UNSET)
246
+ for tags_item_data in (_tags or []):
247
+ tags_item = Tag.from_dict(tags_item_data)
248
+
249
+
250
+
251
+ tags.append(tags_item)
252
+
253
+
254
+ _threshold = d.pop("threshold", UNSET)
255
+ threshold: Union[Unset, BaseTriggerThreshold]
256
+ if isinstance(_threshold, Unset):
257
+ threshold = UNSET
258
+ else:
259
+ threshold = BaseTriggerThreshold.from_dict(_threshold)
260
+
261
+
262
+
263
+
264
+ frequency = d.pop("frequency", UNSET)
265
+
266
+ _alert_type = d.pop("alert_type", UNSET)
267
+ alert_type: Union[Unset, BaseTriggerAlertType]
268
+ if isinstance(_alert_type, Unset):
269
+ alert_type = UNSET
270
+ else:
271
+ alert_type = BaseTriggerAlertType(_alert_type)
272
+
273
+
274
+
275
+
276
+ disabled = d.pop("disabled", UNSET)
277
+
278
+ triggered = d.pop("triggered", UNSET)
279
+
280
+ recipients = []
281
+ _recipients = d.pop("recipients", UNSET)
282
+ for recipients_item_data in (_recipients or []):
283
+ recipients_item = NotificationRecipient.from_dict(recipients_item_data)
284
+
285
+
286
+
287
+ recipients.append(recipients_item)
288
+
289
+
290
+ _evaluation_schedule_type = d.pop("evaluation_schedule_type", UNSET)
291
+ evaluation_schedule_type: Union[Unset, BaseTriggerEvaluationScheduleType]
292
+ if isinstance(_evaluation_schedule_type, Unset):
293
+ evaluation_schedule_type = UNSET
294
+ else:
295
+ evaluation_schedule_type = BaseTriggerEvaluationScheduleType(_evaluation_schedule_type)
296
+
297
+
298
+
299
+
300
+ _evaluation_schedule = d.pop("evaluation_schedule", UNSET)
301
+ evaluation_schedule: Union[Unset, BaseTriggerEvaluationSchedule]
302
+ if isinstance(_evaluation_schedule, Unset):
303
+ evaluation_schedule = UNSET
304
+ else:
305
+ evaluation_schedule = BaseTriggerEvaluationSchedule.from_dict(_evaluation_schedule)
306
+
307
+
308
+
309
+
310
+ _created_at = d.pop("created_at", UNSET)
311
+ created_at: Union[Unset, datetime.datetime]
312
+ if isinstance(_created_at, Unset):
313
+ created_at = UNSET
314
+ else:
315
+ created_at = isoparse(_created_at)
316
+
317
+
318
+
319
+
320
+ _updated_at = d.pop("updated_at", UNSET)
321
+ updated_at: Union[Unset, datetime.datetime]
322
+ if isinstance(_updated_at, Unset):
323
+ updated_at = UNSET
324
+ else:
325
+ updated_at = isoparse(_updated_at)
326
+
327
+
328
+
329
+
330
+ def _parse_baseline_details(data: object) -> Union['BaseTriggerBaselineDetailsType0', Any, Unset]:
331
+ if isinstance(data, Unset):
332
+ return data
333
+ try:
334
+ if not isinstance(data, dict):
335
+ raise TypeError()
336
+ baseline_details_type_0 = BaseTriggerBaselineDetailsType0.from_dict(data)
337
+
338
+
339
+
340
+ return baseline_details_type_0
341
+ except: # noqa: E722
342
+ pass
343
+ return cast(Union['BaseTriggerBaselineDetailsType0', Any, Unset], data)
344
+
345
+ baseline_details = _parse_baseline_details(d.pop("baseline_details", UNSET))
346
+
347
+
348
+ _query = d.pop("query", UNSET)
349
+ query: Union[Unset, TriggerWithInlineQueryQuery]
350
+ if isinstance(_query, Unset):
351
+ query = UNSET
352
+ else:
353
+ query = TriggerWithInlineQueryQuery.from_dict(_query)
354
+
355
+
356
+
357
+
358
+ query_id = d.pop("query_id", UNSET)
359
+
360
+ trigger_response = cls(
361
+ id=id,
362
+ dataset_slug=dataset_slug,
363
+ name=name,
364
+ description=description,
365
+ tags=tags,
366
+ threshold=threshold,
367
+ frequency=frequency,
368
+ alert_type=alert_type,
369
+ disabled=disabled,
370
+ triggered=triggered,
371
+ recipients=recipients,
372
+ evaluation_schedule_type=evaluation_schedule_type,
373
+ evaluation_schedule=evaluation_schedule,
374
+ created_at=created_at,
375
+ updated_at=updated_at,
376
+ baseline_details=baseline_details,
377
+ query=query,
378
+ query_id=query_id,
379
+ )
380
+
381
+
382
+ trigger_response.additional_properties = d
383
+ return trigger_response
384
+
385
+ @property
386
+ def additional_keys(self) -> list[str]:
387
+ return list(self.additional_properties.keys())
388
+
389
+ def __getitem__(self, key: str) -> Any:
390
+ return self.additional_properties[key]
391
+
392
+ def __setitem__(self, key: str, value: Any) -> None:
393
+ self.additional_properties[key] = value
394
+
395
+ def __delitem__(self, key: str) -> None:
396
+ del self.additional_properties[key]
397
+
398
+ def __contains__(self, key: str) -> bool:
399
+ return key in self.additional_properties