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,390 @@
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="TriggerWithInlineQuery")
30
+
31
+
32
+
33
+ @_attrs_define
34
+ class TriggerWithInlineQuery:
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
+ """
79
+
80
+ id: Union[Unset, str] = UNSET
81
+ dataset_slug: Union[Unset, str] = UNSET
82
+ name: Union[Unset, str] = UNSET
83
+ description: Union[Unset, str] = UNSET
84
+ tags: Union[Unset, list['Tag']] = UNSET
85
+ threshold: Union[Unset, 'BaseTriggerThreshold'] = UNSET
86
+ frequency: Union[Unset, int] = UNSET
87
+ alert_type: Union[Unset, BaseTriggerAlertType] = BaseTriggerAlertType.ON_CHANGE
88
+ disabled: Union[Unset, bool] = False
89
+ triggered: Union[Unset, bool] = UNSET
90
+ recipients: Union[Unset, list['NotificationRecipient']] = UNSET
91
+ evaluation_schedule_type: Union[Unset, BaseTriggerEvaluationScheduleType] = UNSET
92
+ evaluation_schedule: Union[Unset, 'BaseTriggerEvaluationSchedule'] = UNSET
93
+ created_at: Union[Unset, datetime.datetime] = UNSET
94
+ updated_at: Union[Unset, datetime.datetime] = UNSET
95
+ baseline_details: Union['BaseTriggerBaselineDetailsType0', Any, Unset] = UNSET
96
+ query: Union[Unset, 'TriggerWithInlineQueryQuery'] = UNSET
97
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
98
+
99
+
100
+ def to_dict(self) -> dict[str, Any]:
101
+ from ..models.base_trigger_threshold import BaseTriggerThreshold
102
+ from ..models.tag import Tag
103
+ from ..models.base_trigger_evaluation_schedule import BaseTriggerEvaluationSchedule
104
+ from ..models.trigger_with_inline_query_query import TriggerWithInlineQueryQuery
105
+ from ..models.base_trigger_baseline_details_type_0 import BaseTriggerBaselineDetailsType0
106
+ from ..models.notification_recipient import NotificationRecipient
107
+ id = self.id
108
+
109
+ dataset_slug = self.dataset_slug
110
+
111
+ name = self.name
112
+
113
+ description = self.description
114
+
115
+ tags: Union[Unset, list[dict[str, Any]]] = UNSET
116
+ if not isinstance(self.tags, Unset):
117
+ tags = []
118
+ for tags_item_data in self.tags:
119
+ tags_item = tags_item_data.to_dict()
120
+ tags.append(tags_item)
121
+
122
+
123
+
124
+ threshold: Union[Unset, dict[str, Any]] = UNSET
125
+ if not isinstance(self.threshold, Unset):
126
+ threshold = self.threshold.to_dict()
127
+
128
+ frequency = self.frequency
129
+
130
+ alert_type: Union[Unset, str] = UNSET
131
+ if not isinstance(self.alert_type, Unset):
132
+ alert_type = self.alert_type.value
133
+
134
+
135
+ disabled = self.disabled
136
+
137
+ triggered = self.triggered
138
+
139
+ recipients: Union[Unset, list[dict[str, Any]]] = UNSET
140
+ if not isinstance(self.recipients, Unset):
141
+ recipients = []
142
+ for recipients_item_data in self.recipients:
143
+ recipients_item = recipients_item_data.to_dict()
144
+ recipients.append(recipients_item)
145
+
146
+
147
+
148
+ evaluation_schedule_type: Union[Unset, str] = UNSET
149
+ if not isinstance(self.evaluation_schedule_type, Unset):
150
+ evaluation_schedule_type = self.evaluation_schedule_type.value
151
+
152
+
153
+ evaluation_schedule: Union[Unset, dict[str, Any]] = UNSET
154
+ if not isinstance(self.evaluation_schedule, Unset):
155
+ evaluation_schedule = self.evaluation_schedule.to_dict()
156
+
157
+ created_at: Union[Unset, str] = UNSET
158
+ if not isinstance(self.created_at, Unset):
159
+ created_at = self.created_at.isoformat()
160
+
161
+ updated_at: Union[Unset, str] = UNSET
162
+ if not isinstance(self.updated_at, Unset):
163
+ updated_at = self.updated_at.isoformat()
164
+
165
+ baseline_details: Union[Any, Unset, dict[str, Any]]
166
+ if isinstance(self.baseline_details, Unset):
167
+ baseline_details = UNSET
168
+ elif isinstance(self.baseline_details, BaseTriggerBaselineDetailsType0):
169
+ baseline_details = self.baseline_details.to_dict()
170
+ else:
171
+ baseline_details = self.baseline_details
172
+
173
+ query: Union[Unset, dict[str, Any]] = UNSET
174
+ if not isinstance(self.query, Unset):
175
+ query = self.query.to_dict()
176
+
177
+
178
+ field_dict: dict[str, Any] = {}
179
+ field_dict.update(self.additional_properties)
180
+ field_dict.update({
181
+ })
182
+ if id is not UNSET:
183
+ field_dict["id"] = id
184
+ if dataset_slug is not UNSET:
185
+ field_dict["dataset_slug"] = dataset_slug
186
+ if name is not UNSET:
187
+ field_dict["name"] = name
188
+ if description is not UNSET:
189
+ field_dict["description"] = description
190
+ if tags is not UNSET:
191
+ field_dict["tags"] = tags
192
+ if threshold is not UNSET:
193
+ field_dict["threshold"] = threshold
194
+ if frequency is not UNSET:
195
+ field_dict["frequency"] = frequency
196
+ if alert_type is not UNSET:
197
+ field_dict["alert_type"] = alert_type
198
+ if disabled is not UNSET:
199
+ field_dict["disabled"] = disabled
200
+ if triggered is not UNSET:
201
+ field_dict["triggered"] = triggered
202
+ if recipients is not UNSET:
203
+ field_dict["recipients"] = recipients
204
+ if evaluation_schedule_type is not UNSET:
205
+ field_dict["evaluation_schedule_type"] = evaluation_schedule_type
206
+ if evaluation_schedule is not UNSET:
207
+ field_dict["evaluation_schedule"] = evaluation_schedule
208
+ if created_at is not UNSET:
209
+ field_dict["created_at"] = created_at
210
+ if updated_at is not UNSET:
211
+ field_dict["updated_at"] = updated_at
212
+ if baseline_details is not UNSET:
213
+ field_dict["baseline_details"] = baseline_details
214
+ if query is not UNSET:
215
+ field_dict["query"] = query
216
+
217
+ return field_dict
218
+
219
+
220
+
221
+ @classmethod
222
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
223
+ from ..models.base_trigger_threshold import BaseTriggerThreshold
224
+ from ..models.tag import Tag
225
+ from ..models.base_trigger_evaluation_schedule import BaseTriggerEvaluationSchedule
226
+ from ..models.trigger_with_inline_query_query import TriggerWithInlineQueryQuery
227
+ from ..models.base_trigger_baseline_details_type_0 import BaseTriggerBaselineDetailsType0
228
+ from ..models.notification_recipient import NotificationRecipient
229
+ d = src_dict.copy()
230
+ id = d.pop("id", UNSET)
231
+
232
+ dataset_slug = d.pop("dataset_slug", UNSET)
233
+
234
+ name = d.pop("name", UNSET)
235
+
236
+ description = d.pop("description", UNSET)
237
+
238
+ tags = []
239
+ _tags = d.pop("tags", UNSET)
240
+ for tags_item_data in (_tags or []):
241
+ tags_item = Tag.from_dict(tags_item_data)
242
+
243
+
244
+
245
+ tags.append(tags_item)
246
+
247
+
248
+ _threshold = d.pop("threshold", UNSET)
249
+ threshold: Union[Unset, BaseTriggerThreshold]
250
+ if isinstance(_threshold, Unset):
251
+ threshold = UNSET
252
+ else:
253
+ threshold = BaseTriggerThreshold.from_dict(_threshold)
254
+
255
+
256
+
257
+
258
+ frequency = d.pop("frequency", UNSET)
259
+
260
+ _alert_type = d.pop("alert_type", UNSET)
261
+ alert_type: Union[Unset, BaseTriggerAlertType]
262
+ if isinstance(_alert_type, Unset):
263
+ alert_type = UNSET
264
+ else:
265
+ alert_type = BaseTriggerAlertType(_alert_type)
266
+
267
+
268
+
269
+
270
+ disabled = d.pop("disabled", UNSET)
271
+
272
+ triggered = d.pop("triggered", UNSET)
273
+
274
+ recipients = []
275
+ _recipients = d.pop("recipients", UNSET)
276
+ for recipients_item_data in (_recipients or []):
277
+ recipients_item = NotificationRecipient.from_dict(recipients_item_data)
278
+
279
+
280
+
281
+ recipients.append(recipients_item)
282
+
283
+
284
+ _evaluation_schedule_type = d.pop("evaluation_schedule_type", UNSET)
285
+ evaluation_schedule_type: Union[Unset, BaseTriggerEvaluationScheduleType]
286
+ if isinstance(_evaluation_schedule_type, Unset):
287
+ evaluation_schedule_type = UNSET
288
+ else:
289
+ evaluation_schedule_type = BaseTriggerEvaluationScheduleType(_evaluation_schedule_type)
290
+
291
+
292
+
293
+
294
+ _evaluation_schedule = d.pop("evaluation_schedule", UNSET)
295
+ evaluation_schedule: Union[Unset, BaseTriggerEvaluationSchedule]
296
+ if isinstance(_evaluation_schedule, Unset):
297
+ evaluation_schedule = UNSET
298
+ else:
299
+ evaluation_schedule = BaseTriggerEvaluationSchedule.from_dict(_evaluation_schedule)
300
+
301
+
302
+
303
+
304
+ _created_at = d.pop("created_at", UNSET)
305
+ created_at: Union[Unset, datetime.datetime]
306
+ if isinstance(_created_at, Unset):
307
+ created_at = UNSET
308
+ else:
309
+ created_at = isoparse(_created_at)
310
+
311
+
312
+
313
+
314
+ _updated_at = d.pop("updated_at", UNSET)
315
+ updated_at: Union[Unset, datetime.datetime]
316
+ if isinstance(_updated_at, Unset):
317
+ updated_at = UNSET
318
+ else:
319
+ updated_at = isoparse(_updated_at)
320
+
321
+
322
+
323
+
324
+ def _parse_baseline_details(data: object) -> Union['BaseTriggerBaselineDetailsType0', Any, Unset]:
325
+ if isinstance(data, Unset):
326
+ return data
327
+ try:
328
+ if not isinstance(data, dict):
329
+ raise TypeError()
330
+ baseline_details_type_0 = BaseTriggerBaselineDetailsType0.from_dict(data)
331
+
332
+
333
+
334
+ return baseline_details_type_0
335
+ except: # noqa: E722
336
+ pass
337
+ return cast(Union['BaseTriggerBaselineDetailsType0', Any, Unset], data)
338
+
339
+ baseline_details = _parse_baseline_details(d.pop("baseline_details", UNSET))
340
+
341
+
342
+ _query = d.pop("query", UNSET)
343
+ query: Union[Unset, TriggerWithInlineQueryQuery]
344
+ if isinstance(_query, Unset):
345
+ query = UNSET
346
+ else:
347
+ query = TriggerWithInlineQueryQuery.from_dict(_query)
348
+
349
+
350
+
351
+
352
+ trigger_with_inline_query = cls(
353
+ id=id,
354
+ dataset_slug=dataset_slug,
355
+ name=name,
356
+ description=description,
357
+ tags=tags,
358
+ threshold=threshold,
359
+ frequency=frequency,
360
+ alert_type=alert_type,
361
+ disabled=disabled,
362
+ triggered=triggered,
363
+ recipients=recipients,
364
+ evaluation_schedule_type=evaluation_schedule_type,
365
+ evaluation_schedule=evaluation_schedule,
366
+ created_at=created_at,
367
+ updated_at=updated_at,
368
+ baseline_details=baseline_details,
369
+ query=query,
370
+ )
371
+
372
+
373
+ trigger_with_inline_query.additional_properties = d
374
+ return trigger_with_inline_query
375
+
376
+ @property
377
+ def additional_keys(self) -> list[str]:
378
+ return list(self.additional_properties.keys())
379
+
380
+ def __getitem__(self, key: str) -> Any:
381
+ return self.additional_properties[key]
382
+
383
+ def __setitem__(self, key: str, value: Any) -> None:
384
+ self.additional_properties[key] = value
385
+
386
+ def __delitem__(self, key: str) -> None:
387
+ del self.additional_properties[key]
388
+
389
+ def __contains__(self, key: str) -> bool:
390
+ return key in self.additional_properties
@@ -0,0 +1,60 @@
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="TriggerWithInlineQueryQuery")
15
+
16
+
17
+
18
+ @_attrs_define
19
+ class TriggerWithInlineQueryQuery:
20
+ """ A query ID or an inline query that is a strict subset of a Query Specification.
21
+
22
+ """
23
+
24
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
25
+
26
+
27
+ def to_dict(self) -> dict[str, Any]:
28
+
29
+ field_dict: dict[str, Any] = {}
30
+ field_dict.update(self.additional_properties)
31
+
32
+ return field_dict
33
+
34
+
35
+
36
+ @classmethod
37
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
38
+ d = src_dict.copy()
39
+ trigger_with_inline_query_query = cls(
40
+ )
41
+
42
+
43
+ trigger_with_inline_query_query.additional_properties = d
44
+ return trigger_with_inline_query_query
45
+
46
+ @property
47
+ def additional_keys(self) -> list[str]:
48
+ return list(self.additional_properties.keys())
49
+
50
+ def __getitem__(self, key: str) -> Any:
51
+ return self.additional_properties[key]
52
+
53
+ def __setitem__(self, key: str, value: Any) -> None:
54
+ self.additional_properties[key] = value
55
+
56
+ def __delitem__(self, key: str) -> None:
57
+ del self.additional_properties[key]
58
+
59
+ def __contains__(self, key: str) -> bool:
60
+ return key in self.additional_properties