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,96 @@
1
+ from typing import Any, TypeVar, Optional, BinaryIO, TextIO, TYPE_CHECKING
2
+
3
+ from attrs import define as _attrs_define
4
+ from attrs import field as _attrs_field
5
+
6
+ from ..types import UNSET, Unset
7
+
8
+ from typing import cast
9
+
10
+ if TYPE_CHECKING:
11
+ from ..models.board_view_filter import BoardViewFilter
12
+
13
+
14
+
15
+
16
+
17
+ T = TypeVar("T", bound="CreateBoardViewRequest")
18
+
19
+
20
+
21
+ @_attrs_define
22
+ class CreateBoardViewRequest:
23
+ """
24
+ Attributes:
25
+ name (str): The name of the view. Example: My View.
26
+ filters (list['BoardViewFilter']): The filters to apply to this view.
27
+ """
28
+
29
+ name: str
30
+ filters: list['BoardViewFilter']
31
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
32
+
33
+
34
+ def to_dict(self) -> dict[str, Any]:
35
+ from ..models.board_view_filter import BoardViewFilter
36
+ name = self.name
37
+
38
+ filters = []
39
+ for filters_item_data in self.filters:
40
+ filters_item = filters_item_data.to_dict()
41
+ filters.append(filters_item)
42
+
43
+
44
+
45
+
46
+ field_dict: dict[str, Any] = {}
47
+ field_dict.update(self.additional_properties)
48
+ field_dict.update({
49
+ "name": name,
50
+ "filters": filters,
51
+ })
52
+
53
+ return field_dict
54
+
55
+
56
+
57
+ @classmethod
58
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
59
+ from ..models.board_view_filter import BoardViewFilter
60
+ d = src_dict.copy()
61
+ name = d.pop("name")
62
+
63
+ filters = []
64
+ _filters = d.pop("filters")
65
+ for filters_item_data in (_filters):
66
+ filters_item = BoardViewFilter.from_dict(filters_item_data)
67
+
68
+
69
+
70
+ filters.append(filters_item)
71
+
72
+
73
+ create_board_view_request = cls(
74
+ name=name,
75
+ filters=filters,
76
+ )
77
+
78
+
79
+ create_board_view_request.additional_properties = d
80
+ return create_board_view_request
81
+
82
+ @property
83
+ def additional_keys(self) -> list[str]:
84
+ return list(self.additional_properties.keys())
85
+
86
+ def __getitem__(self, key: str) -> Any:
87
+ return self.additional_properties[key]
88
+
89
+ def __setitem__(self, key: str, value: Any) -> None:
90
+ self.additional_properties[key] = value
91
+
92
+ def __delitem__(self, key: str) -> None:
93
+ del self.additional_properties[key]
94
+
95
+ def __contains__(self, key: str) -> bool:
96
+ return key in self.additional_properties
@@ -0,0 +1,232 @@
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
+ if TYPE_CHECKING:
16
+ from ..models.create_budget_rate_burn_alert_request_slo import CreateBudgetRateBurnAlertRequestSlo
17
+ from ..models.notification_recipient import NotificationRecipient
18
+
19
+
20
+
21
+
22
+
23
+ T = TypeVar("T", bound="CreateBudgetRateBurnAlertRequest")
24
+
25
+
26
+
27
+ @_attrs_define
28
+ class CreateBudgetRateBurnAlertRequest:
29
+ """
30
+ Attributes:
31
+ alert_type (BudgetRateAlertType): One of the supported alert types:
32
+ 1. `exhaustion_time`: Notifies when you are about to run out of SLO budget within a specified number of hours.
33
+ 1. `budget_rate`: Notifies when budget drops by at least a specified percentage within a defined time window.
34
+ Default: BudgetRateAlertType.EXHAUSTION_TIME. Example: budget_rate.
35
+ budget_rate_window_minutes (int): Required when `alert_type` is `budget_rate`.
36
+
37
+ Must not be specified when `alert_type` is `exhaustion_time`.
38
+
39
+ Time period (in minutes) over which a budget rate will be calculated.
40
+
41
+ Must be no greater than the associated SLO's time period.
42
+ Example: 120.
43
+ budget_rate_decrease_threshold_per_million (int): Required when `alert_type` is `budget_rate`.
44
+
45
+ Must not be specified when `alert_type` is `exhaustion_time`.
46
+
47
+ The percent the budget has decreased over the budget rate window, represented as a value out of one million.
48
+ The alert will fire when this budget decrease threshold is reached.
49
+
50
+ See the table below for some example conversions from desired budget decrease percent to the representation as a
51
+ value out of one million
52
+ | Desired percent | Value per million |
53
+ |-----------------|-------------------|
54
+ | 0.001% | 1 |
55
+ | 1% | 10,000 |
56
+ | 5% | 50,000 |
57
+ | 99.99% | 999,900 |
58
+ Example: 1000.
59
+ slo (CreateBudgetRateBurnAlertRequestSlo): Details about the SLO associated with the burn alert. Example: {'id':
60
+ '2LBq9LckbcA'}.
61
+ recipients (list['NotificationRecipient']): A list of [Recipients](/api/recipients/) to notify when an alert
62
+ fires. Using `type`+`target` is deprecated. First, create the Recipient via the Recipients API, and then specify
63
+ the ID.
64
+ Example: [{'id': 'abcd123', 'type': 'email', 'target': 'alerts@example.com'}].
65
+ id (Union[Unset, str]): Unique identifier (ID) of a Burn alert. Example: fS7vfB81Wcy.
66
+ description (Union[Unset, str]): A description of the Burn Alert. Example: Use this runbook if this alert
67
+ fires..
68
+ triggered (Union[Unset, bool]): Indicates if the Burn Alert has been triggered. This field is read-only and is
69
+ set to `true` when the alert is triggered.
70
+ created_at (Union[Unset, datetime.datetime]): The ISO8601-formatted time when the Burn Alert was created.
71
+ Example: 2022-09-22T17:32:11Z.
72
+ updated_at (Union[Unset, datetime.datetime]): The ISO8601-formatted time when the Burn Alert was updated.
73
+ Example: 2022-10-31T15:08:11Z.
74
+ """
75
+
76
+ budget_rate_window_minutes: int
77
+ budget_rate_decrease_threshold_per_million: int
78
+ slo: 'CreateBudgetRateBurnAlertRequestSlo'
79
+ recipients: list['NotificationRecipient']
80
+ alert_type: BudgetRateAlertType = BudgetRateAlertType.EXHAUSTION_TIME
81
+ id: Union[Unset, str] = UNSET
82
+ description: Union[Unset, str] = UNSET
83
+ triggered: Union[Unset, bool] = UNSET
84
+ created_at: Union[Unset, datetime.datetime] = UNSET
85
+ updated_at: Union[Unset, datetime.datetime] = UNSET
86
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
87
+
88
+
89
+ def to_dict(self) -> dict[str, Any]:
90
+ from ..models.create_budget_rate_burn_alert_request_slo import CreateBudgetRateBurnAlertRequestSlo
91
+ from ..models.notification_recipient import NotificationRecipient
92
+ alert_type = self.alert_type.value
93
+
94
+ budget_rate_window_minutes = self.budget_rate_window_minutes
95
+
96
+ budget_rate_decrease_threshold_per_million = self.budget_rate_decrease_threshold_per_million
97
+
98
+ slo = self.slo.to_dict()
99
+
100
+ recipients = []
101
+ for recipients_item_data in self.recipients:
102
+ recipients_item = recipients_item_data.to_dict()
103
+ recipients.append(recipients_item)
104
+
105
+
106
+
107
+ id = self.id
108
+
109
+ description = self.description
110
+
111
+ triggered = self.triggered
112
+
113
+ created_at: Union[Unset, str] = UNSET
114
+ if not isinstance(self.created_at, Unset):
115
+ created_at = self.created_at.isoformat()
116
+
117
+ updated_at: Union[Unset, str] = UNSET
118
+ if not isinstance(self.updated_at, Unset):
119
+ updated_at = self.updated_at.isoformat()
120
+
121
+
122
+ field_dict: dict[str, Any] = {}
123
+ field_dict.update(self.additional_properties)
124
+ field_dict.update({
125
+ "alert_type": alert_type,
126
+ "budget_rate_window_minutes": budget_rate_window_minutes,
127
+ "budget_rate_decrease_threshold_per_million": budget_rate_decrease_threshold_per_million,
128
+ "slo": slo,
129
+ "recipients": recipients,
130
+ })
131
+ if id is not UNSET:
132
+ field_dict["id"] = id
133
+ if description is not UNSET:
134
+ field_dict["description"] = description
135
+ if triggered is not UNSET:
136
+ field_dict["triggered"] = triggered
137
+ if created_at is not UNSET:
138
+ field_dict["created_at"] = created_at
139
+ if updated_at is not UNSET:
140
+ field_dict["updated_at"] = updated_at
141
+
142
+ return field_dict
143
+
144
+
145
+
146
+ @classmethod
147
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
148
+ from ..models.create_budget_rate_burn_alert_request_slo import CreateBudgetRateBurnAlertRequestSlo
149
+ from ..models.notification_recipient import NotificationRecipient
150
+ d = src_dict.copy()
151
+ alert_type = BudgetRateAlertType(d.pop("alert_type"))
152
+
153
+
154
+
155
+
156
+ budget_rate_window_minutes = d.pop("budget_rate_window_minutes")
157
+
158
+ budget_rate_decrease_threshold_per_million = d.pop("budget_rate_decrease_threshold_per_million")
159
+
160
+ slo = CreateBudgetRateBurnAlertRequestSlo.from_dict(d.pop("slo"))
161
+
162
+
163
+
164
+
165
+ recipients = []
166
+ _recipients = d.pop("recipients")
167
+ for recipients_item_data in (_recipients):
168
+ recipients_item = NotificationRecipient.from_dict(recipients_item_data)
169
+
170
+
171
+
172
+ recipients.append(recipients_item)
173
+
174
+
175
+ id = d.pop("id", UNSET)
176
+
177
+ description = d.pop("description", UNSET)
178
+
179
+ triggered = d.pop("triggered", UNSET)
180
+
181
+ _created_at = d.pop("created_at", UNSET)
182
+ created_at: Union[Unset, datetime.datetime]
183
+ if isinstance(_created_at, Unset):
184
+ created_at = UNSET
185
+ else:
186
+ created_at = isoparse(_created_at)
187
+
188
+
189
+
190
+
191
+ _updated_at = d.pop("updated_at", UNSET)
192
+ updated_at: Union[Unset, datetime.datetime]
193
+ if isinstance(_updated_at, Unset):
194
+ updated_at = UNSET
195
+ else:
196
+ updated_at = isoparse(_updated_at)
197
+
198
+
199
+
200
+
201
+ create_budget_rate_burn_alert_request = cls(
202
+ alert_type=alert_type,
203
+ budget_rate_window_minutes=budget_rate_window_minutes,
204
+ budget_rate_decrease_threshold_per_million=budget_rate_decrease_threshold_per_million,
205
+ slo=slo,
206
+ recipients=recipients,
207
+ id=id,
208
+ description=description,
209
+ triggered=triggered,
210
+ created_at=created_at,
211
+ updated_at=updated_at,
212
+ )
213
+
214
+
215
+ create_budget_rate_burn_alert_request.additional_properties = d
216
+ return create_budget_rate_burn_alert_request
217
+
218
+ @property
219
+ def additional_keys(self) -> list[str]:
220
+ return list(self.additional_properties.keys())
221
+
222
+ def __getitem__(self, key: str) -> Any:
223
+ return self.additional_properties[key]
224
+
225
+ def __setitem__(self, key: str, value: Any) -> None:
226
+ self.additional_properties[key] = value
227
+
228
+ def __delitem__(self, key: str) -> None:
229
+ del self.additional_properties[key]
230
+
231
+ def __contains__(self, key: str) -> bool:
232
+ return key in self.additional_properties
@@ -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
+
9
+
10
+
11
+
12
+
13
+
14
+ T = TypeVar("T", bound="CreateBudgetRateBurnAlertRequestSlo")
15
+
16
+
17
+
18
+ @_attrs_define
19
+ class CreateBudgetRateBurnAlertRequestSlo:
20
+ """ Details about the SLO associated with the burn alert.
21
+
22
+ Example:
23
+ {'id': '2LBq9LckbcA'}
24
+
25
+ Attributes:
26
+ id (str): Unique identifier (ID) of a SLO.
27
+ """
28
+
29
+ id: str
30
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
31
+
32
+
33
+ def to_dict(self) -> dict[str, Any]:
34
+ id = self.id
35
+
36
+
37
+ field_dict: dict[str, Any] = {}
38
+ field_dict.update(self.additional_properties)
39
+ field_dict.update({
40
+ "id": id,
41
+ })
42
+
43
+ return field_dict
44
+
45
+
46
+
47
+ @classmethod
48
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
49
+ d = src_dict.copy()
50
+ id = d.pop("id")
51
+
52
+ create_budget_rate_burn_alert_request_slo = cls(
53
+ id=id,
54
+ )
55
+
56
+
57
+ create_budget_rate_burn_alert_request_slo.additional_properties = d
58
+ return create_budget_rate_burn_alert_request_slo
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
@@ -0,0 +1,149 @@
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.create_column_type import CreateColumnType
9
+ from ..types import UNSET, Unset
10
+ from typing import Union
11
+
12
+
13
+
14
+
15
+
16
+
17
+ T = TypeVar("T", bound="CreateColumn")
18
+
19
+
20
+
21
+ @_attrs_define
22
+ class CreateColumn:
23
+ """
24
+ Attributes:
25
+ key_name (str): Name of the Column. Example: my_column.
26
+ type_ (Union[Unset, CreateColumnType]): Type of data that the Column will contain. Histogram is in beta and only
27
+ works in your Metrics dataset. Default: CreateColumnType.STRING. Example: integer.
28
+ description (Union[Unset, str]): Column description. Example: An integer column.
29
+ hidden (Union[Unset, bool]): If `true`, the column is excluded from autocomplete and raw data field lists.
30
+ Default: False.
31
+ id (Union[Unset, str]): Unique identifier (ID), returned in response bodies.
32
+ last_written (Union[Unset, str]): ISO8601 formatted time the column was last written to (received event data).
33
+ created_at (Union[Unset, str]): ISO8601 formatted time the column was created.
34
+ updated_at (Union[Unset, str]): ISO8601 formatted time the column was updated.
35
+ """
36
+
37
+ key_name: str
38
+ type_: Union[Unset, CreateColumnType] = CreateColumnType.STRING
39
+ description: Union[Unset, str] = UNSET
40
+ hidden: Union[Unset, bool] = False
41
+ id: Union[Unset, str] = UNSET
42
+ last_written: Union[Unset, str] = UNSET
43
+ created_at: Union[Unset, str] = UNSET
44
+ updated_at: Union[Unset, str] = UNSET
45
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
46
+
47
+
48
+ def to_dict(self) -> dict[str, Any]:
49
+ key_name = self.key_name
50
+
51
+ type_: Union[Unset, str] = UNSET
52
+ if not isinstance(self.type_, Unset):
53
+ type_ = self.type_.value
54
+
55
+
56
+ description = self.description
57
+
58
+ hidden = self.hidden
59
+
60
+ id = self.id
61
+
62
+ last_written = self.last_written
63
+
64
+ created_at = self.created_at
65
+
66
+ updated_at = self.updated_at
67
+
68
+
69
+ field_dict: dict[str, Any] = {}
70
+ field_dict.update(self.additional_properties)
71
+ field_dict.update({
72
+ "key_name": key_name,
73
+ })
74
+ if type_ is not UNSET:
75
+ field_dict["type"] = type_
76
+ if description is not UNSET:
77
+ field_dict["description"] = description
78
+ if hidden is not UNSET:
79
+ field_dict["hidden"] = hidden
80
+ if id is not UNSET:
81
+ field_dict["id"] = id
82
+ if last_written is not UNSET:
83
+ field_dict["last_written"] = last_written
84
+ if created_at is not UNSET:
85
+ field_dict["created_at"] = created_at
86
+ if updated_at is not UNSET:
87
+ field_dict["updated_at"] = updated_at
88
+
89
+ return field_dict
90
+
91
+
92
+
93
+ @classmethod
94
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
95
+ d = src_dict.copy()
96
+ key_name = d.pop("key_name")
97
+
98
+ _type_ = d.pop("type", UNSET)
99
+ type_: Union[Unset, CreateColumnType]
100
+ if isinstance(_type_, Unset):
101
+ type_ = UNSET
102
+ else:
103
+ type_ = CreateColumnType(_type_)
104
+
105
+
106
+
107
+
108
+ description = d.pop("description", UNSET)
109
+
110
+ hidden = d.pop("hidden", UNSET)
111
+
112
+ id = d.pop("id", UNSET)
113
+
114
+ last_written = d.pop("last_written", UNSET)
115
+
116
+ created_at = d.pop("created_at", UNSET)
117
+
118
+ updated_at = d.pop("updated_at", UNSET)
119
+
120
+ create_column = cls(
121
+ key_name=key_name,
122
+ type_=type_,
123
+ description=description,
124
+ hidden=hidden,
125
+ id=id,
126
+ last_written=last_written,
127
+ created_at=created_at,
128
+ updated_at=updated_at,
129
+ )
130
+
131
+
132
+ create_column.additional_properties = d
133
+ return create_column
134
+
135
+ @property
136
+ def additional_keys(self) -> list[str]:
137
+ return list(self.additional_properties.keys())
138
+
139
+ def __getitem__(self, key: str) -> Any:
140
+ return self.additional_properties[key]
141
+
142
+ def __setitem__(self, key: str, value: Any) -> None:
143
+ self.additional_properties[key] = value
144
+
145
+ def __delitem__(self, key: str) -> None:
146
+ del self.additional_properties[key]
147
+
148
+ def __contains__(self, key: str) -> bool:
149
+ return key in self.additional_properties
@@ -0,0 +1,11 @@
1
+ from enum import Enum
2
+
3
+ class CreateColumnType(str, Enum):
4
+ BOOLEAN = "boolean"
5
+ FLOAT = "float"
6
+ HISTOGRAM = "histogram"
7
+ INTEGER = "integer"
8
+ STRING = "string"
9
+
10
+ def __str__(self) -> str:
11
+ return str(self.value)
@@ -0,0 +1,78 @@
1
+ from typing import Any, TypeVar, Optional, BinaryIO, TextIO, TYPE_CHECKING
2
+
3
+ from attrs import define as _attrs_define
4
+ from attrs import field as _attrs_field
5
+
6
+ from ..types import UNSET, Unset
7
+
8
+ from typing import cast
9
+
10
+ if TYPE_CHECKING:
11
+ from ..models.create_enhance_indexer_usage_record_request_data import CreateEnhanceIndexerUsageRecordRequestData
12
+
13
+
14
+
15
+
16
+
17
+ T = TypeVar("T", bound="CreateEnhanceIndexerUsageRecordRequest")
18
+
19
+
20
+
21
+ @_attrs_define
22
+ class CreateEnhanceIndexerUsageRecordRequest:
23
+ """
24
+ Attributes:
25
+ data (CreateEnhanceIndexerUsageRecordRequestData):
26
+ """
27
+
28
+ data: 'CreateEnhanceIndexerUsageRecordRequestData'
29
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
30
+
31
+
32
+ def to_dict(self) -> dict[str, Any]:
33
+ from ..models.create_enhance_indexer_usage_record_request_data import CreateEnhanceIndexerUsageRecordRequestData
34
+ data = self.data.to_dict()
35
+
36
+
37
+ field_dict: dict[str, Any] = {}
38
+ field_dict.update(self.additional_properties)
39
+ field_dict.update({
40
+ "data": data,
41
+ })
42
+
43
+ return field_dict
44
+
45
+
46
+
47
+ @classmethod
48
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
49
+ from ..models.create_enhance_indexer_usage_record_request_data import CreateEnhanceIndexerUsageRecordRequestData
50
+ d = src_dict.copy()
51
+ data = CreateEnhanceIndexerUsageRecordRequestData.from_dict(d.pop("data"))
52
+
53
+
54
+
55
+
56
+ create_enhance_indexer_usage_record_request = cls(
57
+ data=data,
58
+ )
59
+
60
+
61
+ create_enhance_indexer_usage_record_request.additional_properties = d
62
+ return create_enhance_indexer_usage_record_request
63
+
64
+ @property
65
+ def additional_keys(self) -> list[str]:
66
+ return list(self.additional_properties.keys())
67
+
68
+ def __getitem__(self, key: str) -> Any:
69
+ return self.additional_properties[key]
70
+
71
+ def __setitem__(self, key: str, value: Any) -> None:
72
+ self.additional_properties[key] = value
73
+
74
+ def __delitem__(self, key: str) -> None:
75
+ del self.additional_properties[key]
76
+
77
+ def __contains__(self, key: str) -> bool:
78
+ return key in self.additional_properties