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