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,189 @@
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.budget_rate_alert_type import BudgetRateAlertType
9
+ from ..types import UNSET, Unset
10
+ from dateutil.parser import isoparse
11
+ from typing import cast
12
+ from typing import Union
13
+ import datetime
14
+
15
+
16
+
17
+
18
+
19
+
20
+ T = TypeVar("T", bound="BudgetRate")
21
+
22
+
23
+
24
+ @_attrs_define
25
+ class BudgetRate:
26
+ """
27
+ Attributes:
28
+ alert_type (BudgetRateAlertType): One of the supported alert types:
29
+ 1. `exhaustion_time`: Notifies when you are about to run out of SLO budget within a specified number of hours.
30
+ 1. `budget_rate`: Notifies when budget drops by at least a specified percentage within a defined time window.
31
+ Default: BudgetRateAlertType.EXHAUSTION_TIME. Example: budget_rate.
32
+ budget_rate_window_minutes (int): Required when `alert_type` is `budget_rate`.
33
+
34
+ Must not be specified when `alert_type` is `exhaustion_time`.
35
+
36
+ Time period (in minutes) over which a budget rate will be calculated.
37
+
38
+ Must be no greater than the associated SLO's time period.
39
+ Example: 120.
40
+ budget_rate_decrease_threshold_per_million (int): Required when `alert_type` is `budget_rate`.
41
+
42
+ Must not be specified when `alert_type` is `exhaustion_time`.
43
+
44
+ The percent the budget has decreased over the budget rate window, represented as a value out of one million.
45
+ The alert will fire when this budget decrease threshold is reached.
46
+
47
+ See the table below for some example conversions from desired budget decrease percent to the representation as a
48
+ value out of one million
49
+ | Desired percent | Value per million |
50
+ |-----------------|-------------------|
51
+ | 0.001% | 1 |
52
+ | 1% | 10,000 |
53
+ | 5% | 50,000 |
54
+ | 99.99% | 999,900 |
55
+ Example: 1000.
56
+ id (Union[Unset, str]): Unique identifier (ID) of a Burn alert. Example: fS7vfB81Wcy.
57
+ description (Union[Unset, str]): A description of the Burn Alert. Example: Use this runbook if this alert
58
+ fires..
59
+ triggered (Union[Unset, bool]): Indicates if the Burn Alert has been triggered. This field is read-only and is
60
+ set to `true` when the alert is triggered.
61
+ created_at (Union[Unset, datetime.datetime]): The ISO8601-formatted time when the Burn Alert was created.
62
+ Example: 2022-09-22T17:32:11Z.
63
+ updated_at (Union[Unset, datetime.datetime]): The ISO8601-formatted time when the Burn Alert was updated.
64
+ Example: 2022-10-31T15:08:11Z.
65
+ """
66
+
67
+ budget_rate_window_minutes: int
68
+ budget_rate_decrease_threshold_per_million: int
69
+ alert_type: BudgetRateAlertType = BudgetRateAlertType.EXHAUSTION_TIME
70
+ id: Union[Unset, str] = UNSET
71
+ description: Union[Unset, str] = UNSET
72
+ triggered: Union[Unset, bool] = UNSET
73
+ created_at: Union[Unset, datetime.datetime] = UNSET
74
+ updated_at: Union[Unset, datetime.datetime] = UNSET
75
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
76
+
77
+
78
+ def to_dict(self) -> dict[str, Any]:
79
+ alert_type = self.alert_type.value
80
+
81
+ budget_rate_window_minutes = self.budget_rate_window_minutes
82
+
83
+ budget_rate_decrease_threshold_per_million = self.budget_rate_decrease_threshold_per_million
84
+
85
+ id = self.id
86
+
87
+ description = self.description
88
+
89
+ triggered = self.triggered
90
+
91
+ created_at: Union[Unset, str] = UNSET
92
+ if not isinstance(self.created_at, Unset):
93
+ created_at = self.created_at.isoformat()
94
+
95
+ updated_at: Union[Unset, str] = UNSET
96
+ if not isinstance(self.updated_at, Unset):
97
+ updated_at = self.updated_at.isoformat()
98
+
99
+
100
+ field_dict: dict[str, Any] = {}
101
+ field_dict.update(self.additional_properties)
102
+ field_dict.update({
103
+ "alert_type": alert_type,
104
+ "budget_rate_window_minutes": budget_rate_window_minutes,
105
+ "budget_rate_decrease_threshold_per_million": budget_rate_decrease_threshold_per_million,
106
+ })
107
+ if id is not UNSET:
108
+ field_dict["id"] = id
109
+ if description is not UNSET:
110
+ field_dict["description"] = description
111
+ if triggered is not UNSET:
112
+ field_dict["triggered"] = triggered
113
+ if created_at is not UNSET:
114
+ field_dict["created_at"] = created_at
115
+ if updated_at is not UNSET:
116
+ field_dict["updated_at"] = updated_at
117
+
118
+ return field_dict
119
+
120
+
121
+
122
+ @classmethod
123
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
124
+ d = src_dict.copy()
125
+ alert_type = BudgetRateAlertType(d.pop("alert_type"))
126
+
127
+
128
+
129
+
130
+ budget_rate_window_minutes = d.pop("budget_rate_window_minutes")
131
+
132
+ budget_rate_decrease_threshold_per_million = d.pop("budget_rate_decrease_threshold_per_million")
133
+
134
+ id = d.pop("id", UNSET)
135
+
136
+ description = d.pop("description", UNSET)
137
+
138
+ triggered = d.pop("triggered", UNSET)
139
+
140
+ _created_at = d.pop("created_at", UNSET)
141
+ created_at: Union[Unset, datetime.datetime]
142
+ if isinstance(_created_at, Unset):
143
+ created_at = UNSET
144
+ else:
145
+ created_at = isoparse(_created_at)
146
+
147
+
148
+
149
+
150
+ _updated_at = d.pop("updated_at", UNSET)
151
+ updated_at: Union[Unset, datetime.datetime]
152
+ if isinstance(_updated_at, Unset):
153
+ updated_at = UNSET
154
+ else:
155
+ updated_at = isoparse(_updated_at)
156
+
157
+
158
+
159
+
160
+ budget_rate = cls(
161
+ alert_type=alert_type,
162
+ budget_rate_window_minutes=budget_rate_window_minutes,
163
+ budget_rate_decrease_threshold_per_million=budget_rate_decrease_threshold_per_million,
164
+ id=id,
165
+ description=description,
166
+ triggered=triggered,
167
+ created_at=created_at,
168
+ updated_at=updated_at,
169
+ )
170
+
171
+
172
+ budget_rate.additional_properties = d
173
+ return budget_rate
174
+
175
+ @property
176
+ def additional_keys(self) -> list[str]:
177
+ return list(self.additional_properties.keys())
178
+
179
+ def __getitem__(self, key: str) -> Any:
180
+ return self.additional_properties[key]
181
+
182
+ def __setitem__(self, key: str, value: Any) -> None:
183
+ self.additional_properties[key] = value
184
+
185
+ def __delitem__(self, key: str) -> None:
186
+ del self.additional_properties[key]
187
+
188
+ def __contains__(self, key: str) -> bool:
189
+ return key in self.additional_properties
@@ -0,0 +1,8 @@
1
+ from enum import Enum
2
+
3
+ class BudgetRateAlertType(str, Enum):
4
+ BUDGET_RATE = "budget_rate"
5
+ EXHAUSTION_TIME = "exhaustion_time"
6
+
7
+ def __str__(self) -> str:
8
+ return str(self.value)
@@ -0,0 +1,136 @@
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 dateutil.parser import isoparse
10
+ from typing import cast
11
+ from typing import Union
12
+ import datetime
13
+
14
+
15
+
16
+
17
+
18
+
19
+ T = TypeVar("T", bound="BurnAlertSharedParams")
20
+
21
+
22
+
23
+ @_attrs_define
24
+ class BurnAlertSharedParams:
25
+ """
26
+ Attributes:
27
+ id (Union[Unset, str]): Unique identifier (ID) of a Burn alert. Example: fS7vfB81Wcy.
28
+ description (Union[Unset, str]): A description of the Burn Alert. Example: Use this runbook if this alert
29
+ fires..
30
+ triggered (Union[Unset, bool]): Indicates if the Burn Alert has been triggered. This field is read-only and is
31
+ set to `true` when the alert is triggered.
32
+ created_at (Union[Unset, datetime.datetime]): The ISO8601-formatted time when the Burn Alert was created.
33
+ Example: 2022-09-22T17:32:11Z.
34
+ updated_at (Union[Unset, datetime.datetime]): The ISO8601-formatted time when the Burn Alert was updated.
35
+ Example: 2022-10-31T15:08:11Z.
36
+ """
37
+
38
+ id: Union[Unset, str] = UNSET
39
+ description: Union[Unset, str] = UNSET
40
+ triggered: Union[Unset, bool] = UNSET
41
+ created_at: Union[Unset, datetime.datetime] = UNSET
42
+ updated_at: Union[Unset, datetime.datetime] = UNSET
43
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
44
+
45
+
46
+ def to_dict(self) -> dict[str, Any]:
47
+ id = self.id
48
+
49
+ description = self.description
50
+
51
+ triggered = self.triggered
52
+
53
+ created_at: Union[Unset, str] = UNSET
54
+ if not isinstance(self.created_at, Unset):
55
+ created_at = self.created_at.isoformat()
56
+
57
+ updated_at: Union[Unset, str] = UNSET
58
+ if not isinstance(self.updated_at, Unset):
59
+ updated_at = self.updated_at.isoformat()
60
+
61
+
62
+ field_dict: dict[str, Any] = {}
63
+ field_dict.update(self.additional_properties)
64
+ field_dict.update({
65
+ })
66
+ if id is not UNSET:
67
+ field_dict["id"] = id
68
+ if description is not UNSET:
69
+ field_dict["description"] = description
70
+ if triggered is not UNSET:
71
+ field_dict["triggered"] = triggered
72
+ if created_at is not UNSET:
73
+ field_dict["created_at"] = created_at
74
+ if updated_at is not UNSET:
75
+ field_dict["updated_at"] = updated_at
76
+
77
+ return field_dict
78
+
79
+
80
+
81
+ @classmethod
82
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
83
+ d = src_dict.copy()
84
+ id = d.pop("id", UNSET)
85
+
86
+ description = d.pop("description", UNSET)
87
+
88
+ triggered = d.pop("triggered", UNSET)
89
+
90
+ _created_at = d.pop("created_at", UNSET)
91
+ created_at: Union[Unset, datetime.datetime]
92
+ if isinstance(_created_at, Unset):
93
+ created_at = UNSET
94
+ else:
95
+ created_at = isoparse(_created_at)
96
+
97
+
98
+
99
+
100
+ _updated_at = d.pop("updated_at", UNSET)
101
+ updated_at: Union[Unset, datetime.datetime]
102
+ if isinstance(_updated_at, Unset):
103
+ updated_at = UNSET
104
+ else:
105
+ updated_at = isoparse(_updated_at)
106
+
107
+
108
+
109
+
110
+ burn_alert_shared_params = cls(
111
+ id=id,
112
+ description=description,
113
+ triggered=triggered,
114
+ created_at=created_at,
115
+ updated_at=updated_at,
116
+ )
117
+
118
+
119
+ burn_alert_shared_params.additional_properties = d
120
+ return burn_alert_shared_params
121
+
122
+ @property
123
+ def additional_keys(self) -> list[str]:
124
+ return list(self.additional_properties.keys())
125
+
126
+ def __getitem__(self, key: str) -> Any:
127
+ return self.additional_properties[key]
128
+
129
+ def __setitem__(self, key: str, value: Any) -> None:
130
+ self.additional_properties[key] = value
131
+
132
+ def __delitem__(self, key: str) -> None:
133
+ del self.additional_properties[key]
134
+
135
+ def __contains__(self, key: str) -> bool:
136
+ return key in self.additional_properties
@@ -0,0 +1,117 @@
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="CalculatedField")
17
+
18
+
19
+
20
+ @_attrs_define
21
+ class CalculatedField:
22
+ """
23
+ Attributes:
24
+ id (str): Unique identifier (ID), returned in response bodies.
25
+ alias (str): The human-readable name of the Calculated Field (also called Derived Column), as it will be
26
+ referenced when building queries.
27
+ expression (str): The expression to evaluate to construct this Calculated Field's value. (Calculated Field is
28
+ also called Derived Column.) Refer to the [Calculated Field
29
+ Reference](https://docs.honeycomb.io/reference/derived-column-formula/).
30
+ created_at (str): ISO8601 formatted time when the field was created.
31
+ updated_at (str): ISO8601 formatted time when the field was updated.
32
+ description (Union[Unset, str]): A human-readable description for the Calculated Field that displays in the UI.
33
+ Default: ''.
34
+ """
35
+
36
+ id: str
37
+ alias: str
38
+ expression: str
39
+ created_at: str
40
+ updated_at: str
41
+ description: Union[Unset, str] = ''
42
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
43
+
44
+
45
+ def to_dict(self) -> dict[str, Any]:
46
+ id = self.id
47
+
48
+ alias = self.alias
49
+
50
+ expression = self.expression
51
+
52
+ created_at = self.created_at
53
+
54
+ updated_at = self.updated_at
55
+
56
+ description = self.description
57
+
58
+
59
+ field_dict: dict[str, Any] = {}
60
+ field_dict.update(self.additional_properties)
61
+ field_dict.update({
62
+ "id": id,
63
+ "alias": alias,
64
+ "expression": expression,
65
+ "created_at": created_at,
66
+ "updated_at": updated_at,
67
+ })
68
+ if description is not UNSET:
69
+ field_dict["description"] = description
70
+
71
+ return field_dict
72
+
73
+
74
+
75
+ @classmethod
76
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
77
+ d = src_dict.copy()
78
+ id = d.pop("id")
79
+
80
+ alias = d.pop("alias")
81
+
82
+ expression = d.pop("expression")
83
+
84
+ created_at = d.pop("created_at")
85
+
86
+ updated_at = d.pop("updated_at")
87
+
88
+ description = d.pop("description", UNSET)
89
+
90
+ calculated_field = cls(
91
+ id=id,
92
+ alias=alias,
93
+ expression=expression,
94
+ created_at=created_at,
95
+ updated_at=updated_at,
96
+ description=description,
97
+ )
98
+
99
+
100
+ calculated_field.additional_properties = d
101
+ return calculated_field
102
+
103
+ @property
104
+ def additional_keys(self) -> list[str]:
105
+ return list(self.additional_properties.keys())
106
+
107
+ def __getitem__(self, key: str) -> Any:
108
+ return self.additional_properties[key]
109
+
110
+ def __setitem__(self, key: str, value: Any) -> None:
111
+ self.additional_properties[key] = value
112
+
113
+ def __delitem__(self, key: str) -> None:
114
+ del self.additional_properties[key]
115
+
116
+ def __contains__(self, key: str) -> bool:
117
+ return key in self.additional_properties
@@ -0,0 +1,140 @@
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.configuration_key_attributes_key_type import ConfigurationKeyAttributesKeyType
9
+ from ..types import UNSET, Unset
10
+ from typing import cast
11
+ from typing import Union
12
+
13
+ if TYPE_CHECKING:
14
+ from ..models.configuration_key_attributes_timestamps import ConfigurationKeyAttributesTimestamps
15
+ from ..models.configuration_key_attributes_permissions import ConfigurationKeyAttributesPermissions
16
+
17
+
18
+
19
+
20
+
21
+ T = TypeVar("T", bound="ConfigurationKeyAttributes")
22
+
23
+
24
+
25
+ @_attrs_define
26
+ class ConfigurationKeyAttributes:
27
+ """
28
+ Attributes:
29
+ key_type (ConfigurationKeyAttributesKeyType): The type of API Key Example: configuration.
30
+ name (str): A human-readable name for the API Key Example: us-west-2 collectors key.
31
+ disabled (Union[Unset, bool]): Whether the API Key is disabled Default: False.
32
+ permissions (Union[Unset, ConfigurationKeyAttributesPermissions]): The permissions granted to this Configuration
33
+ API Key
34
+ timestamps (Union[Unset, ConfigurationKeyAttributesTimestamps]):
35
+ """
36
+
37
+ key_type: ConfigurationKeyAttributesKeyType
38
+ name: str
39
+ disabled: Union[Unset, bool] = False
40
+ permissions: Union[Unset, 'ConfigurationKeyAttributesPermissions'] = UNSET
41
+ timestamps: Union[Unset, 'ConfigurationKeyAttributesTimestamps'] = UNSET
42
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
43
+
44
+
45
+ def to_dict(self) -> dict[str, Any]:
46
+ from ..models.configuration_key_attributes_timestamps import ConfigurationKeyAttributesTimestamps
47
+ from ..models.configuration_key_attributes_permissions import ConfigurationKeyAttributesPermissions
48
+ key_type = self.key_type.value
49
+
50
+ name = self.name
51
+
52
+ disabled = self.disabled
53
+
54
+ permissions: Union[Unset, dict[str, Any]] = UNSET
55
+ if not isinstance(self.permissions, Unset):
56
+ permissions = self.permissions.to_dict()
57
+
58
+ timestamps: Union[Unset, dict[str, Any]] = UNSET
59
+ if not isinstance(self.timestamps, Unset):
60
+ timestamps = self.timestamps.to_dict()
61
+
62
+
63
+ field_dict: dict[str, Any] = {}
64
+ field_dict.update(self.additional_properties)
65
+ field_dict.update({
66
+ "key_type": key_type,
67
+ "name": name,
68
+ })
69
+ if disabled is not UNSET:
70
+ field_dict["disabled"] = disabled
71
+ if permissions is not UNSET:
72
+ field_dict["permissions"] = permissions
73
+ if timestamps is not UNSET:
74
+ field_dict["timestamps"] = timestamps
75
+
76
+ return field_dict
77
+
78
+
79
+
80
+ @classmethod
81
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
82
+ from ..models.configuration_key_attributes_timestamps import ConfigurationKeyAttributesTimestamps
83
+ from ..models.configuration_key_attributes_permissions import ConfigurationKeyAttributesPermissions
84
+ d = src_dict.copy()
85
+ key_type = ConfigurationKeyAttributesKeyType(d.pop("key_type"))
86
+
87
+
88
+
89
+
90
+ name = d.pop("name")
91
+
92
+ disabled = d.pop("disabled", UNSET)
93
+
94
+ _permissions = d.pop("permissions", UNSET)
95
+ permissions: Union[Unset, ConfigurationKeyAttributesPermissions]
96
+ if isinstance(_permissions, Unset):
97
+ permissions = UNSET
98
+ else:
99
+ permissions = ConfigurationKeyAttributesPermissions.from_dict(_permissions)
100
+
101
+
102
+
103
+
104
+ _timestamps = d.pop("timestamps", UNSET)
105
+ timestamps: Union[Unset, ConfigurationKeyAttributesTimestamps]
106
+ if isinstance(_timestamps, Unset):
107
+ timestamps = UNSET
108
+ else:
109
+ timestamps = ConfigurationKeyAttributesTimestamps.from_dict(_timestamps)
110
+
111
+
112
+
113
+
114
+ configuration_key_attributes = cls(
115
+ key_type=key_type,
116
+ name=name,
117
+ disabled=disabled,
118
+ permissions=permissions,
119
+ timestamps=timestamps,
120
+ )
121
+
122
+
123
+ configuration_key_attributes.additional_properties = d
124
+ return configuration_key_attributes
125
+
126
+ @property
127
+ def additional_keys(self) -> list[str]:
128
+ return list(self.additional_properties.keys())
129
+
130
+ def __getitem__(self, key: str) -> Any:
131
+ return self.additional_properties[key]
132
+
133
+ def __setitem__(self, key: str, value: Any) -> None:
134
+ self.additional_properties[key] = value
135
+
136
+ def __delitem__(self, key: str) -> None:
137
+ del self.additional_properties[key]
138
+
139
+ def __contains__(self, key: str) -> bool:
140
+ return key in self.additional_properties
@@ -0,0 +1,7 @@
1
+ from enum import Enum
2
+
3
+ class ConfigurationKeyAttributesKeyType(str, Enum):
4
+ CONFIGURATION = "configuration"
5
+
6
+ def __str__(self) -> str:
7
+ return str(self.value)
@@ -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 dateutil.parser import isoparse
10
+ from typing import cast
11
+ from typing import Union
12
+ import datetime
13
+
14
+
15
+
16
+
17
+
18
+
19
+ T = TypeVar("T", bound="ConfigurationKeyAttributesTimestamps")
20
+
21
+
22
+
23
+ @_attrs_define
24
+ class ConfigurationKeyAttributesTimestamps:
25
+ """
26
+ Attributes:
27
+ created (Union[Unset, datetime.datetime]): The ISO8601-formatted time when the API Key was created. Example:
28
+ 2022-09-22T17:32:11Z.
29
+ updated (Union[Unset, datetime.datetime]): The ISO8601-formatted time when the API Key was updated. Example:
30
+ 2022-10-31T15:08:11Z.
31
+ """
32
+
33
+ created: Union[Unset, datetime.datetime] = UNSET
34
+ updated: Union[Unset, datetime.datetime] = UNSET
35
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
36
+
37
+
38
+ def to_dict(self) -> dict[str, Any]:
39
+ created: Union[Unset, str] = UNSET
40
+ if not isinstance(self.created, Unset):
41
+ created = self.created.isoformat()
42
+
43
+ updated: Union[Unset, str] = UNSET
44
+ if not isinstance(self.updated, Unset):
45
+ updated = self.updated.isoformat()
46
+
47
+
48
+ field_dict: dict[str, Any] = {}
49
+ field_dict.update(self.additional_properties)
50
+ field_dict.update({
51
+ })
52
+ if created is not UNSET:
53
+ field_dict["created"] = created
54
+ if updated is not UNSET:
55
+ field_dict["updated"] = updated
56
+
57
+ return field_dict
58
+
59
+
60
+
61
+ @classmethod
62
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
63
+ d = src_dict.copy()
64
+ _created = d.pop("created", UNSET)
65
+ created: Union[Unset, datetime.datetime]
66
+ if isinstance(_created, Unset):
67
+ created = UNSET
68
+ else:
69
+ created = isoparse(_created)
70
+
71
+
72
+
73
+
74
+ _updated = d.pop("updated", UNSET)
75
+ updated: Union[Unset, datetime.datetime]
76
+ if isinstance(_updated, Unset):
77
+ updated = UNSET
78
+ else:
79
+ updated = isoparse(_updated)
80
+
81
+
82
+
83
+
84
+ configuration_key_attributes_timestamps = cls(
85
+ created=created,
86
+ updated=updated,
87
+ )
88
+
89
+
90
+ configuration_key_attributes_timestamps.additional_properties = d
91
+ return configuration_key_attributes_timestamps
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