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,103 @@
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_evaluation_schedule_window_days_of_week_item import BaseTriggerEvaluationScheduleWindowDaysOfWeekItem
9
+ from typing import cast
10
+
11
+
12
+
13
+
14
+
15
+
16
+ T = TypeVar("T", bound="BaseTriggerEvaluationScheduleWindow")
17
+
18
+
19
+
20
+ @_attrs_define
21
+ class BaseTriggerEvaluationScheduleWindow:
22
+ """ Window start/end times and days of the week are calculated in UTC. If the end time is the same as or earlier than
23
+ the start time, the end time is treated as being in the following day.
24
+
25
+ Attributes:
26
+ days_of_week (list[BaseTriggerEvaluationScheduleWindowDaysOfWeekItem]):
27
+ start_time (str): A UTC time in HH:mm format (13:00) Example: 840.
28
+ end_time (str): A UTC time in HH:mm format (13:00) Example: 1260.
29
+ """
30
+
31
+ days_of_week: list[BaseTriggerEvaluationScheduleWindowDaysOfWeekItem]
32
+ start_time: str
33
+ end_time: str
34
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
35
+
36
+
37
+ def to_dict(self) -> dict[str, Any]:
38
+ days_of_week = []
39
+ for days_of_week_item_data in self.days_of_week:
40
+ days_of_week_item = days_of_week_item_data.value
41
+ days_of_week.append(days_of_week_item)
42
+
43
+
44
+
45
+ start_time = self.start_time
46
+
47
+ end_time = self.end_time
48
+
49
+
50
+ field_dict: dict[str, Any] = {}
51
+ field_dict.update(self.additional_properties)
52
+ field_dict.update({
53
+ "days_of_week": days_of_week,
54
+ "start_time": start_time,
55
+ "end_time": end_time,
56
+ })
57
+
58
+ return field_dict
59
+
60
+
61
+
62
+ @classmethod
63
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
64
+ d = src_dict.copy()
65
+ days_of_week = []
66
+ _days_of_week = d.pop("days_of_week")
67
+ for days_of_week_item_data in (_days_of_week):
68
+ days_of_week_item = BaseTriggerEvaluationScheduleWindowDaysOfWeekItem(days_of_week_item_data)
69
+
70
+
71
+
72
+ days_of_week.append(days_of_week_item)
73
+
74
+
75
+ start_time = d.pop("start_time")
76
+
77
+ end_time = d.pop("end_time")
78
+
79
+ base_trigger_evaluation_schedule_window = cls(
80
+ days_of_week=days_of_week,
81
+ start_time=start_time,
82
+ end_time=end_time,
83
+ )
84
+
85
+
86
+ base_trigger_evaluation_schedule_window.additional_properties = d
87
+ return base_trigger_evaluation_schedule_window
88
+
89
+ @property
90
+ def additional_keys(self) -> list[str]:
91
+ return list(self.additional_properties.keys())
92
+
93
+ def __getitem__(self, key: str) -> Any:
94
+ return self.additional_properties[key]
95
+
96
+ def __setitem__(self, key: str, value: Any) -> None:
97
+ self.additional_properties[key] = value
98
+
99
+ def __delitem__(self, key: str) -> None:
100
+ del self.additional_properties[key]
101
+
102
+ def __contains__(self, key: str) -> bool:
103
+ return key in self.additional_properties
@@ -0,0 +1,13 @@
1
+ from enum import Enum
2
+
3
+ class BaseTriggerEvaluationScheduleWindowDaysOfWeekItem(str, Enum):
4
+ FRIDAY = "friday"
5
+ MONDAY = "monday"
6
+ SATURDAY = "saturday"
7
+ SUNDAY = "sunday"
8
+ THURSDAY = "thursday"
9
+ TUESDAY = "tuesday"
10
+ WEDNESDAY = "wednesday"
11
+
12
+ def __str__(self) -> str:
13
+ return str(self.value)
@@ -0,0 +1,95 @@
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_threshold_op import BaseTriggerThresholdOp
9
+ from ..types import UNSET, Unset
10
+ from typing import Union
11
+
12
+
13
+
14
+
15
+
16
+
17
+ T = TypeVar("T", bound="BaseTriggerThreshold")
18
+
19
+
20
+
21
+ @_attrs_define
22
+ class BaseTriggerThreshold:
23
+ """ The threshold over which the trigger will fire, specified as both an operator and a value.
24
+
25
+ Attributes:
26
+ op (BaseTriggerThresholdOp):
27
+ value (float):
28
+ exceeded_limit (Union[Unset, int]): The number of times the threshold must be met before an alert is sent.
29
+ Default: 1.
30
+ """
31
+
32
+ op: BaseTriggerThresholdOp
33
+ value: float
34
+ exceeded_limit: Union[Unset, int] = 1
35
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
36
+
37
+
38
+ def to_dict(self) -> dict[str, Any]:
39
+ op = self.op.value
40
+
41
+ value = self.value
42
+
43
+ exceeded_limit = self.exceeded_limit
44
+
45
+
46
+ field_dict: dict[str, Any] = {}
47
+ field_dict.update(self.additional_properties)
48
+ field_dict.update({
49
+ "op": op,
50
+ "value": value,
51
+ })
52
+ if exceeded_limit is not UNSET:
53
+ field_dict["exceeded_limit"] = exceeded_limit
54
+
55
+ return field_dict
56
+
57
+
58
+
59
+ @classmethod
60
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
61
+ d = src_dict.copy()
62
+ op = BaseTriggerThresholdOp(d.pop("op"))
63
+
64
+
65
+
66
+
67
+ value = d.pop("value")
68
+
69
+ exceeded_limit = d.pop("exceeded_limit", UNSET)
70
+
71
+ base_trigger_threshold = cls(
72
+ op=op,
73
+ value=value,
74
+ exceeded_limit=exceeded_limit,
75
+ )
76
+
77
+
78
+ base_trigger_threshold.additional_properties = d
79
+ return base_trigger_threshold
80
+
81
+ @property
82
+ def additional_keys(self) -> list[str]:
83
+ return list(self.additional_properties.keys())
84
+
85
+ def __getitem__(self, key: str) -> Any:
86
+ return self.additional_properties[key]
87
+
88
+ def __setitem__(self, key: str, value: Any) -> None:
89
+ self.additional_properties[key] = value
90
+
91
+ def __delitem__(self, key: str) -> None:
92
+ del self.additional_properties[key]
93
+
94
+ def __contains__(self, key: str) -> bool:
95
+ return key in self.additional_properties
@@ -0,0 +1,10 @@
1
+ from enum import Enum
2
+
3
+ class BaseTriggerThresholdOp(str, Enum):
4
+ VALUE_0 = ">"
5
+ VALUE_1 = ">="
6
+ VALUE_2 = "<"
7
+ VALUE_3 = "<="
8
+
9
+ def __str__(self) -> str:
10
+ return str(self.value)
@@ -0,0 +1,110 @@
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.event import Event
14
+
15
+
16
+
17
+
18
+
19
+ T = TypeVar("T", bound="BatchEvent")
20
+
21
+
22
+
23
+ @_attrs_define
24
+ class BatchEvent:
25
+ """
26
+ Attributes:
27
+ data (Union[Unset, Event]):
28
+ time (Union[Unset, str]): Should be in RFC3339 high precision format (for example, YYYY-MM-DDTHH:MM:SS.mmmZ).
29
+ May be a Unix epoch (seconds since 1970) with second or greater precision (for example, 1452759330927).
30
+ Optional. If not set, defaults to the time that the API receives the event.
31
+ samplerate (Union[Unset, int]): An integer representing the denominator in the fraction 1/n when client-side
32
+ sampling has been applied. Optional. If not set, defaults to `1`, meaning "not sampled". Refer to
33
+ [Sampling](https://docs.honeycomb.io/manage-data-volume/sample/sampled-data-in-honeycomb/) for more detail.
34
+ """
35
+
36
+ data: Union[Unset, 'Event'] = UNSET
37
+ time: Union[Unset, str] = UNSET
38
+ samplerate: Union[Unset, int] = UNSET
39
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
40
+
41
+
42
+ def to_dict(self) -> dict[str, Any]:
43
+ from ..models.event import Event
44
+ data: Union[Unset, dict[str, Any]] = UNSET
45
+ if not isinstance(self.data, Unset):
46
+ data = self.data.to_dict()
47
+
48
+ time = self.time
49
+
50
+ samplerate = self.samplerate
51
+
52
+
53
+ field_dict: dict[str, Any] = {}
54
+ field_dict.update(self.additional_properties)
55
+ field_dict.update({
56
+ })
57
+ if data is not UNSET:
58
+ field_dict["data"] = data
59
+ if time is not UNSET:
60
+ field_dict["time"] = time
61
+ if samplerate is not UNSET:
62
+ field_dict["samplerate"] = samplerate
63
+
64
+ return field_dict
65
+
66
+
67
+
68
+ @classmethod
69
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
70
+ from ..models.event import Event
71
+ d = src_dict.copy()
72
+ _data = d.pop("data", UNSET)
73
+ data: Union[Unset, Event]
74
+ if isinstance(_data, Unset):
75
+ data = UNSET
76
+ else:
77
+ data = Event.from_dict(_data)
78
+
79
+
80
+
81
+
82
+ time = d.pop("time", UNSET)
83
+
84
+ samplerate = d.pop("samplerate", UNSET)
85
+
86
+ batch_event = cls(
87
+ data=data,
88
+ time=time,
89
+ samplerate=samplerate,
90
+ )
91
+
92
+
93
+ batch_event.additional_properties = d
94
+ return batch_event
95
+
96
+ @property
97
+ def additional_keys(self) -> list[str]:
98
+ return list(self.additional_properties.keys())
99
+
100
+ def __getitem__(self, key: str) -> Any:
101
+ return self.additional_properties[key]
102
+
103
+ def __setitem__(self, key: str, value: Any) -> None:
104
+ self.additional_properties[key] = value
105
+
106
+ def __delitem__(self, key: str) -> None:
107
+ del self.additional_properties[key]
108
+
109
+ def __contains__(self, key: str) -> bool:
110
+ return key in self.additional_properties
@@ -0,0 +1,276 @@
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.board_layout_generation import BoardLayoutGeneration
9
+ from ..models.board_type import BoardType
10
+ from ..types import UNSET, Unset
11
+ from typing import cast
12
+ from typing import cast, Union
13
+ from typing import Union
14
+
15
+ if TYPE_CHECKING:
16
+ from ..models.preset_filter import PresetFilter
17
+ from ..models.tag import Tag
18
+ from ..models.text_panel import TextPanel
19
+ from ..models.slo_panel import SLOPanel
20
+ from ..models.query_panel import QueryPanel
21
+ from ..models.board_links import BoardLinks
22
+
23
+
24
+
25
+
26
+
27
+ T = TypeVar("T", bound="Board")
28
+
29
+
30
+
31
+ @_attrs_define
32
+ class Board:
33
+ """
34
+ Attributes:
35
+ name (str): The name of the Board. Example: My Board.
36
+ type_ (BoardType): The type of the board. Only flexible boards are supported.
37
+ description (Union[Unset, str]): A description of the Board. Example: A board created via the API.
38
+ links (Union[Unset, BoardLinks]):
39
+ id (Union[Unset, str]): Unique identifier (ID), returned in response bodies. Example: 2NeeaE9bBLd.
40
+ panels (Union[Unset, list[Union['QueryPanel', 'SLOPanel', 'TextPanel']]]):
41
+ layout_generation (Union[Unset, BoardLayoutGeneration]): The layout generation mode for the board. When set to
42
+ "auto", the board will be automatically laid out based on the panels. When set to "manual", the board will be
43
+ laid out manually by the user.
44
+ Default: BoardLayoutGeneration.MANUAL.
45
+ tags (Union[Unset, list['Tag']]): A list of key-value pairs to help identify the Trigger. Example: [{'key':
46
+ 'team', 'value': 'blue'}].
47
+ preset_filters (Union[Unset, list['PresetFilter']]): A list of preset filters to apply to the board. For
48
+ backwards compatibility, if no preset filters are provided, the existing preset filters will be preserved. If an
49
+ empty array is provided, all preset filters will be deleted. Example: [{'column': 'app.Service', 'alias':
50
+ 'Service'}].
51
+ """
52
+
53
+ name: str
54
+ type_: BoardType
55
+ description: Union[Unset, str] = UNSET
56
+ links: Union[Unset, 'BoardLinks'] = UNSET
57
+ id: Union[Unset, str] = UNSET
58
+ panels: Union[Unset, list[Union['QueryPanel', 'SLOPanel', 'TextPanel']]] = UNSET
59
+ layout_generation: Union[Unset, BoardLayoutGeneration] = BoardLayoutGeneration.MANUAL
60
+ tags: Union[Unset, list['Tag']] = UNSET
61
+ preset_filters: Union[Unset, list['PresetFilter']] = UNSET
62
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
63
+
64
+
65
+ def to_dict(self) -> dict[str, Any]:
66
+ from ..models.preset_filter import PresetFilter
67
+ from ..models.tag import Tag
68
+ from ..models.text_panel import TextPanel
69
+ from ..models.slo_panel import SLOPanel
70
+ from ..models.query_panel import QueryPanel
71
+ from ..models.board_links import BoardLinks
72
+ name = self.name
73
+
74
+ type_ = self.type_.value
75
+
76
+ description = self.description
77
+
78
+ links: Union[Unset, dict[str, Any]] = UNSET
79
+ if not isinstance(self.links, Unset):
80
+ links = self.links.to_dict()
81
+
82
+ id = self.id
83
+
84
+ panels: Union[Unset, list[dict[str, Any]]] = UNSET
85
+ if not isinstance(self.panels, Unset):
86
+ panels = []
87
+ for panels_item_data in self.panels:
88
+ panels_item: dict[str, Any]
89
+ if isinstance(panels_item_data, QueryPanel):
90
+ panels_item = panels_item_data.to_dict()
91
+ elif isinstance(panels_item_data, SLOPanel):
92
+ panels_item = panels_item_data.to_dict()
93
+ else:
94
+ panels_item = panels_item_data.to_dict()
95
+
96
+ panels.append(panels_item)
97
+
98
+
99
+
100
+ layout_generation: Union[Unset, str] = UNSET
101
+ if not isinstance(self.layout_generation, Unset):
102
+ layout_generation = self.layout_generation.value
103
+
104
+
105
+ tags: Union[Unset, list[dict[str, Any]]] = UNSET
106
+ if not isinstance(self.tags, Unset):
107
+ tags = []
108
+ for tags_item_data in self.tags:
109
+ tags_item = tags_item_data.to_dict()
110
+ tags.append(tags_item)
111
+
112
+
113
+
114
+ preset_filters: Union[Unset, list[dict[str, Any]]] = UNSET
115
+ if not isinstance(self.preset_filters, Unset):
116
+ preset_filters = []
117
+ for preset_filters_item_data in self.preset_filters:
118
+ preset_filters_item = preset_filters_item_data.to_dict()
119
+ preset_filters.append(preset_filters_item)
120
+
121
+
122
+
123
+
124
+ field_dict: dict[str, Any] = {}
125
+ field_dict.update(self.additional_properties)
126
+ field_dict.update({
127
+ "name": name,
128
+ "type": type_,
129
+ })
130
+ if description is not UNSET:
131
+ field_dict["description"] = description
132
+ if links is not UNSET:
133
+ field_dict["links"] = links
134
+ if id is not UNSET:
135
+ field_dict["id"] = id
136
+ if panels is not UNSET:
137
+ field_dict["panels"] = panels
138
+ if layout_generation is not UNSET:
139
+ field_dict["layout_generation"] = layout_generation
140
+ if tags is not UNSET:
141
+ field_dict["tags"] = tags
142
+ if preset_filters is not UNSET:
143
+ field_dict["preset_filters"] = preset_filters
144
+
145
+ return field_dict
146
+
147
+
148
+
149
+ @classmethod
150
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
151
+ from ..models.preset_filter import PresetFilter
152
+ from ..models.tag import Tag
153
+ from ..models.text_panel import TextPanel
154
+ from ..models.slo_panel import SLOPanel
155
+ from ..models.query_panel import QueryPanel
156
+ from ..models.board_links import BoardLinks
157
+ d = src_dict.copy()
158
+ name = d.pop("name")
159
+
160
+ type_ = BoardType(d.pop("type"))
161
+
162
+
163
+
164
+
165
+ description = d.pop("description", UNSET)
166
+
167
+ _links = d.pop("links", UNSET)
168
+ links: Union[Unset, BoardLinks]
169
+ if isinstance(_links, Unset):
170
+ links = UNSET
171
+ else:
172
+ links = BoardLinks.from_dict(_links)
173
+
174
+
175
+
176
+
177
+ id = d.pop("id", UNSET)
178
+
179
+ panels = []
180
+ _panels = d.pop("panels", UNSET)
181
+ for panels_item_data in (_panels or []):
182
+ def _parse_panels_item(data: object) -> Union['QueryPanel', 'SLOPanel', 'TextPanel']:
183
+ try:
184
+ if not isinstance(data, dict):
185
+ raise TypeError()
186
+ componentsschemas_board_panel_type_0 = QueryPanel.from_dict(data)
187
+
188
+
189
+
190
+ return componentsschemas_board_panel_type_0
191
+ except: # noqa: E722
192
+ pass
193
+ try:
194
+ if not isinstance(data, dict):
195
+ raise TypeError()
196
+ componentsschemas_board_panel_type_1 = SLOPanel.from_dict(data)
197
+
198
+
199
+
200
+ return componentsschemas_board_panel_type_1
201
+ except: # noqa: E722
202
+ pass
203
+ if not isinstance(data, dict):
204
+ raise TypeError()
205
+ componentsschemas_board_panel_type_2 = TextPanel.from_dict(data)
206
+
207
+
208
+
209
+ return componentsschemas_board_panel_type_2
210
+
211
+ panels_item = _parse_panels_item(panels_item_data)
212
+
213
+ panels.append(panels_item)
214
+
215
+
216
+ _layout_generation = d.pop("layout_generation", UNSET)
217
+ layout_generation: Union[Unset, BoardLayoutGeneration]
218
+ if isinstance(_layout_generation, Unset):
219
+ layout_generation = UNSET
220
+ else:
221
+ layout_generation = BoardLayoutGeneration(_layout_generation)
222
+
223
+
224
+
225
+
226
+ tags = []
227
+ _tags = d.pop("tags", UNSET)
228
+ for tags_item_data in (_tags or []):
229
+ tags_item = Tag.from_dict(tags_item_data)
230
+
231
+
232
+
233
+ tags.append(tags_item)
234
+
235
+
236
+ preset_filters = []
237
+ _preset_filters = d.pop("preset_filters", UNSET)
238
+ for preset_filters_item_data in (_preset_filters or []):
239
+ preset_filters_item = PresetFilter.from_dict(preset_filters_item_data)
240
+
241
+
242
+
243
+ preset_filters.append(preset_filters_item)
244
+
245
+
246
+ board = cls(
247
+ name=name,
248
+ type_=type_,
249
+ description=description,
250
+ links=links,
251
+ id=id,
252
+ panels=panels,
253
+ layout_generation=layout_generation,
254
+ tags=tags,
255
+ preset_filters=preset_filters,
256
+ )
257
+
258
+
259
+ board.additional_properties = d
260
+ return board
261
+
262
+ @property
263
+ def additional_keys(self) -> list[str]:
264
+ return list(self.additional_properties.keys())
265
+
266
+ def __getitem__(self, key: str) -> Any:
267
+ return self.additional_properties[key]
268
+
269
+ def __setitem__(self, key: str, value: Any) -> None:
270
+ self.additional_properties[key] = value
271
+
272
+ def __delitem__(self, key: str) -> None:
273
+ del self.additional_properties[key]
274
+
275
+ def __contains__(self, key: str) -> bool:
276
+ return key in self.additional_properties
@@ -0,0 +1,8 @@
1
+ from enum import Enum
2
+
3
+ class BoardLayoutGeneration(str, Enum):
4
+ AUTO = "auto"
5
+ MANUAL = "manual"
6
+
7
+ def __str__(self) -> str:
8
+ return str(self.value)
@@ -0,0 +1,74 @@
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 Union
10
+
11
+
12
+
13
+
14
+
15
+
16
+ T = TypeVar("T", bound="BoardLinks")
17
+
18
+
19
+
20
+ @_attrs_define
21
+ class BoardLinks:
22
+ """
23
+ Attributes:
24
+ board_url (Union[Unset, str]): Example:
25
+ https://ui.honeycomb.io/myteam/environments/myenvironment/board/2NeeaE9bBLd.
26
+ """
27
+
28
+ board_url: Union[Unset, str] = UNSET
29
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
30
+
31
+
32
+ def to_dict(self) -> dict[str, Any]:
33
+ board_url = self.board_url
34
+
35
+
36
+ field_dict: dict[str, Any] = {}
37
+ field_dict.update(self.additional_properties)
38
+ field_dict.update({
39
+ })
40
+ if board_url is not UNSET:
41
+ field_dict["board_url"] = board_url
42
+
43
+ return field_dict
44
+
45
+
46
+
47
+ @classmethod
48
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
49
+ d = src_dict.copy()
50
+ board_url = d.pop("board_url", UNSET)
51
+
52
+ board_links = cls(
53
+ board_url=board_url,
54
+ )
55
+
56
+
57
+ board_links.additional_properties = d
58
+ return board_links
59
+
60
+ @property
61
+ def additional_keys(self) -> list[str]:
62
+ return list(self.additional_properties.keys())
63
+
64
+ def __getitem__(self, key: str) -> Any:
65
+ return self.additional_properties[key]
66
+
67
+ def __setitem__(self, key: str, value: Any) -> None:
68
+ self.additional_properties[key] = value
69
+
70
+ def __delitem__(self, key: str) -> None:
71
+ del self.additional_properties[key]
72
+
73
+ def __contains__(self, key: str) -> bool:
74
+ return key in self.additional_properties