honeycomb-api 0.1.0__py3-none-any.whl → 0.5.3__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.
- honeycomb/__init__.py +9 -0
- honeycomb/_generated/api/auth/get_auth.py +2 -5
- honeycomb/_generated/api/auth/get_v2_auth.py +2 -5
- honeycomb/_generated/api/boards/create_board.py +6 -5
- honeycomb/_generated/api/boards/create_board_view.py +14 -9
- honeycomb/_generated/api/boards/delete_board.py +2 -5
- honeycomb/_generated/api/boards/delete_board_view.py +2 -5
- honeycomb/_generated/api/boards/get_board.py +2 -5
- honeycomb/_generated/api/boards/get_board_view.py +2 -5
- honeycomb/_generated/api/boards/list_board_views.py +10 -9
- honeycomb/_generated/api/boards/list_boards.py +2 -5
- honeycomb/_generated/api/boards/update_board.py +10 -5
- honeycomb/_generated/api/boards/update_board_view.py +2 -5
- honeycomb/_generated/api/burn_alerts/create_burn_alert.py +6 -8
- honeycomb/_generated/api/burn_alerts/delete_burn_alert.py +2 -5
- honeycomb/_generated/api/burn_alerts/get_burn_alert.py +2 -5
- honeycomb/_generated/api/burn_alerts/list_burn_alerts_by_slo.py +2 -5
- honeycomb/_generated/api/calculated_fields/create_calculated_field.py +2 -5
- honeycomb/_generated/api/calculated_fields/delete_calculated_field.py +2 -5
- honeycomb/_generated/api/calculated_fields/get_calculated_field.py +2 -5
- honeycomb/_generated/api/calculated_fields/list_calculated_fields.py +2 -8
- honeycomb/_generated/api/calculated_fields/update_calculated_field.py +2 -5
- honeycomb/_generated/api/columns/create_column.py +2 -5
- honeycomb/_generated/api/columns/delete_column.py +2 -5
- honeycomb/_generated/api/columns/get_column.py +2 -5
- honeycomb/_generated/api/columns/list_columns.py +2 -8
- honeycomb/_generated/api/columns/update_column.py +2 -5
- honeycomb/_generated/api/dataset_definitions/list_dataset_definitions.py +2 -5
- honeycomb/_generated/api/dataset_definitions/patch_dataset_definitions.py +2 -5
- honeycomb/_generated/api/datasets/create_dataset.py +2 -5
- honeycomb/_generated/api/datasets/delete_dataset.py +2 -5
- honeycomb/_generated/api/datasets/get_dataset.py +2 -5
- honeycomb/_generated/api/datasets/list_datasets.py +2 -5
- honeycomb/_generated/api/datasets/update_dataset.py +2 -5
- honeycomb/_generated/api/enhance/record_enhance_indexer_usage.py +4 -6
- honeycomb/_generated/api/environments/create_environment.py +2 -5
- honeycomb/_generated/api/environments/delete_environment.py +2 -5
- honeycomb/_generated/api/environments/get_environment.py +2 -5
- honeycomb/_generated/api/environments/list_environments.py +2 -7
- honeycomb/_generated/api/environments/update_environment.py +2 -5
- honeycomb/_generated/api/events/create_event.py +2 -7
- honeycomb/_generated/api/events/create_events.py +7 -11
- honeycomb/_generated/api/key_management/create_api_key.py +2 -5
- honeycomb/_generated/api/key_management/delete_api_key.py +2 -5
- honeycomb/_generated/api/key_management/get_api_key.py +2 -5
- honeycomb/_generated/api/key_management/list_api_keys.py +2 -7
- honeycomb/_generated/api/key_management/update_api_key.py +2 -5
- honeycomb/_generated/api/kinesis_events/create_kinesis_events.py +2 -5
- honeycomb/_generated/api/marker_settings/create_marker_setting.py +2 -5
- honeycomb/_generated/api/marker_settings/delete_marker_settings.py +2 -5
- honeycomb/_generated/api/marker_settings/list_marker_settings.py +2 -5
- honeycomb/_generated/api/marker_settings/update_marker_settings.py +2 -5
- honeycomb/_generated/api/markers/create_marker.py +2 -5
- honeycomb/_generated/api/markers/create_marker_v2.py +2 -5
- honeycomb/_generated/api/markers/delete_marker.py +2 -5
- honeycomb/_generated/api/markers/get_marker.py +2 -5
- honeycomb/_generated/api/markers/update_marker.py +2 -5
- honeycomb/_generated/api/markers/update_marker_v2.py +2 -5
- honeycomb/_generated/api/pipelines/get_pipeline_configuration.py +4 -8
- honeycomb/_generated/api/pipelines/record_pipeline_usage.py +4 -6
- honeycomb/_generated/api/pipelines/update_pipeline_configuration_rollout.py +6 -7
- honeycomb/_generated/api/queries/create_query.py +2 -5
- honeycomb/_generated/api/queries/get_query.py +2 -5
- honeycomb/_generated/api/query_annotations/create_query_annotation.py +2 -5
- honeycomb/_generated/api/query_annotations/delete_query_annotation.py +2 -5
- honeycomb/_generated/api/query_annotations/get_query_annotation.py +2 -5
- honeycomb/_generated/api/query_annotations/list_query_annotations.py +2 -7
- honeycomb/_generated/api/query_annotations/update_query_annotation.py +2 -5
- honeycomb/_generated/api/query_data/create_query_result.py +2 -5
- honeycomb/_generated/api/query_data/get_query_result.py +2 -5
- honeycomb/_generated/api/recipients/create_recipient.py +2 -6
- honeycomb/_generated/api/recipients/delete_recipient.py +2 -5
- honeycomb/_generated/api/recipients/get_recipient.py +2 -6
- honeycomb/_generated/api/recipients/list_recipients.py +2 -6
- honeycomb/_generated/api/recipients/update_recipient.py +2 -6
- honeycomb/_generated/api/reporting/get_slo_history.py +2 -5
- honeycomb/_generated/api/service_maps/create_map_dependency_request.py +6 -9
- honeycomb/_generated/api/service_maps/get_map_dependencies.py +2 -7
- honeycomb/_generated/api/sl_os/create_slo.py +2 -5
- honeycomb/_generated/api/sl_os/delete_slo.py +2 -5
- honeycomb/_generated/api/sl_os/get_slo.py +2 -8
- honeycomb/_generated/api/sl_os/list_slos.py +2 -5
- honeycomb/_generated/api/sl_os/update_slo.py +2 -5
- honeycomb/_generated/api/triggers/create_trigger.py +2 -6
- honeycomb/_generated/api/triggers/delete_trigger.py +2 -5
- honeycomb/_generated/api/triggers/get_trigger.py +2 -5
- honeycomb/_generated/api/triggers/list_triggers.py +2 -5
- honeycomb/_generated/api/triggers/list_triggers_with_recipient.py +2 -5
- honeycomb/_generated/api/triggers/update_trigger.py +2 -5
- honeycomb/_generated/client.py +2 -5
- honeycomb/_generated/models/__init__.py +195 -88
- honeycomb/_generated/models/api_key_create_request.py +6 -5
- honeycomb/_generated/models/api_key_create_request_data.py +15 -11
- honeycomb/_generated/models/api_key_create_request_data_relationships.py +2 -3
- honeycomb/_generated/models/api_key_create_request_data_type.py +1 -0
- honeycomb/_generated/models/api_key_list_response.py +2 -5
- honeycomb/_generated/models/api_key_object.py +14 -14
- honeycomb/_generated/models/api_key_object_links.py +2 -9
- honeycomb/_generated/models/api_key_object_relationships.py +5 -9
- honeycomb/_generated/models/api_key_object_type.py +1 -0
- honeycomb/_generated/models/api_key_response.py +2 -3
- honeycomb/_generated/models/api_key_update_request.py +15 -17
- honeycomb/_generated/models/auth.py +2 -5
- honeycomb/_generated/models/auth_api_key_access.py +2 -9
- honeycomb/_generated/models/auth_environment.py +2 -9
- honeycomb/_generated/models/auth_team.py +2 -9
- honeycomb/_generated/models/auth_type.py +1 -0
- honeycomb/_generated/models/auth_v2_response.py +5 -8
- honeycomb/_generated/models/auth_v2_response_data.py +14 -11
- honeycomb/_generated/models/auth_v2_response_data_attributes.py +10 -9
- honeycomb/_generated/models/auth_v2_response_data_attributes_key_type.py +1 -0
- honeycomb/_generated/models/auth_v2_response_data_attributes_timestamps.py +4 -12
- honeycomb/_generated/models/auth_v2_response_data_relationships.py +1 -7
- honeycomb/_generated/models/auth_v2_response_data_type.py +1 -0
- honeycomb/_generated/models/base_trigger.py +21 -18
- honeycomb/_generated/models/base_trigger_alert_type.py +1 -0
- honeycomb/_generated/models/base_trigger_baseline_details_type_0.py +5 -9
- honeycomb/_generated/models/base_trigger_baseline_details_type_0_offset_minutes.py +1 -0
- honeycomb/_generated/models/base_trigger_baseline_details_type_0_type.py +1 -0
- honeycomb/_generated/models/base_trigger_evaluation_schedule.py +8 -6
- honeycomb/_generated/models/base_trigger_evaluation_schedule_type.py +1 -0
- honeycomb/_generated/models/base_trigger_evaluation_schedule_window.py +4 -9
- honeycomb/_generated/models/base_trigger_evaluation_schedule_window_days_of_week_item.py +1 -0
- honeycomb/_generated/models/base_trigger_threshold.py +2 -9
- honeycomb/_generated/models/base_trigger_threshold_op.py +1 -0
- honeycomb/_generated/models/batch_event.py +2 -5
- honeycomb/_generated/models/board.py +15 -17
- honeycomb/_generated/models/board_layout_generation.py +1 -0
- honeycomb/_generated/models/board_links.py +2 -9
- honeycomb/_generated/models/board_panel_position.py +2 -9
- honeycomb/_generated/models/board_query_visualization_settings.py +8 -8
- honeycomb/_generated/models/board_query_visualization_settings_charts_item.py +4 -10
- honeycomb/_generated/models/board_query_visualization_settings_charts_item_chart_type.py +1 -0
- honeycomb/_generated/models/board_type.py +1 -0
- honeycomb/_generated/models/board_view_filter.py +2 -9
- honeycomb/_generated/models/board_view_filter_operation.py +1 -0
- honeycomb/_generated/models/board_view_response.py +2 -5
- honeycomb/_generated/models/budget_rate.py +4 -12
- honeycomb/_generated/models/budget_rate_alert_type.py +1 -0
- honeycomb/_generated/models/burn_alert_shared_params.py +4 -12
- honeycomb/_generated/models/calculated_field.py +2 -9
- honeycomb/_generated/models/configuration_key_attributes.py +16 -12
- honeycomb/_generated/models/configuration_key_attributes_key_type.py +1 -0
- honeycomb/_generated/models/configuration_key_attributes_permissions.py +172 -0
- honeycomb/_generated/models/configuration_key_attributes_timestamps.py +4 -12
- honeycomb/_generated/models/configuration_key_request.py +101 -0
- honeycomb/_generated/models/configuration_key_request_attributes.py +107 -0
- honeycomb/_generated/models/configuration_key_request_attributes_permissions.py +168 -0
- honeycomb/_generated/models/configuration_key_request_type.py +8 -0
- honeycomb/_generated/models/create_board_view_request.py +2 -3
- honeycomb/_generated/models/create_budget_rate_burn_alert_request.py +10 -10
- honeycomb/_generated/models/create_budget_rate_burn_alert_request_slo.py +1 -7
- honeycomb/_generated/models/create_column.py +2 -9
- honeycomb/_generated/models/create_column_type.py +1 -0
- honeycomb/_generated/models/create_enhance_indexer_usage_record_request.py +8 -6
- honeycomb/_generated/models/create_enhance_indexer_usage_record_request_data.py +10 -7
- honeycomb/_generated/models/create_enhance_indexer_usage_record_request_data_attributes.py +8 -8
- honeycomb/_generated/models/create_enhance_indexer_usage_record_request_data_attributes_usage_data.py +8 -6
- honeycomb/_generated/models/create_enhance_indexer_usage_record_request_data_attributes_usage_data_resource_metrics_item.py +8 -6
- honeycomb/_generated/models/create_enhance_indexer_usage_record_request_data_attributes_usage_data_resource_metrics_item_scope_metrics_item.py +8 -6
- honeycomb/_generated/models/create_enhance_indexer_usage_record_request_data_attributes_usage_data_resource_metrics_item_scope_metrics_item_metrics_item.py +8 -8
- honeycomb/_generated/models/create_enhance_indexer_usage_record_request_data_attributes_usage_data_resource_metrics_item_scope_metrics_item_metrics_item_sum.py +10 -7
- 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 +1 -0
- 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 +8 -6
- 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 +8 -6
- 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 +2 -9
- honeycomb/_generated/models/create_enhance_indexer_usage_record_request_data_type.py +1 -0
- honeycomb/_generated/models/create_environment_request.py +8 -6
- honeycomb/_generated/models/create_environment_request_data.py +10 -7
- honeycomb/_generated/models/create_environment_request_data_attributes.py +2 -9
- honeycomb/_generated/models/create_environment_request_data_type.py +1 -0
- honeycomb/_generated/models/create_events_content_encoding.py +1 -0
- honeycomb/_generated/models/create_events_response_200_item.py +2 -9
- honeycomb/_generated/models/create_exhaustion_time_burn_alert_request.py +10 -10
- honeycomb/_generated/models/create_exhaustion_time_burn_alert_request_slo.py +1 -7
- honeycomb/_generated/models/create_map_dependencies_request.py +2 -5
- honeycomb/_generated/models/create_map_dependencies_response.py +4 -10
- honeycomb/_generated/models/create_map_dependencies_response_status.py +1 -0
- honeycomb/_generated/models/create_pipeline_health_record_request.py +8 -6
- honeycomb/_generated/models/create_pipeline_health_record_request_data.py +10 -7
- honeycomb/_generated/models/create_pipeline_health_record_request_data_attributes.py +8 -8
- honeycomb/_generated/models/create_pipeline_health_record_request_data_attributes_usage_data.py +8 -6
- honeycomb/_generated/models/create_pipeline_health_record_request_data_attributes_usage_data_resource_metrics_item.py +8 -6
- honeycomb/_generated/models/create_pipeline_health_record_request_data_attributes_usage_data_resource_metrics_item_scope_metrics_item.py +8 -6
- honeycomb/_generated/models/create_pipeline_health_record_request_data_attributes_usage_data_resource_metrics_item_scope_metrics_item_metrics_item.py +8 -8
- honeycomb/_generated/models/create_pipeline_health_record_request_data_attributes_usage_data_resource_metrics_item_scope_metrics_item_metrics_item_sum.py +10 -7
- honeycomb/_generated/models/create_pipeline_health_record_request_data_attributes_usage_data_resource_metrics_item_scope_metrics_item_metrics_item_sum_aggregation_temporality.py +1 -0
- honeycomb/_generated/models/create_pipeline_health_record_request_data_attributes_usage_data_resource_metrics_item_scope_metrics_item_metrics_item_sum_datapoints_item.py +8 -6
- 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 +8 -6
- 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 +2 -9
- honeycomb/_generated/models/create_pipeline_health_record_request_data_type.py +1 -0
- honeycomb/_generated/models/create_query_result_request.py +2 -9
- honeycomb/_generated/models/dataset.py +2 -6
- honeycomb/_generated/models/dataset_creation_payload.py +2 -9
- honeycomb/_generated/models/dataset_definition_type_1.py +4 -10
- honeycomb/_generated/models/dataset_definition_type_1_column_type.py +1 -0
- honeycomb/_generated/models/dataset_definitions.py +2 -6
- honeycomb/_generated/models/dataset_relationship.py +2 -3
- honeycomb/_generated/models/dataset_relationship_data.py +2 -8
- honeycomb/_generated/models/dataset_relationship_data_type.py +1 -0
- honeycomb/_generated/models/dataset_settings.py +2 -9
- honeycomb/_generated/models/dataset_update_payload.py +8 -8
- honeycomb/_generated/models/dataset_update_payload_settings.py +2 -9
- honeycomb/_generated/models/detailed_error.py +2 -9
- honeycomb/_generated/models/email_recipient.py +4 -7
- honeycomb/_generated/models/email_recipient_details.py +1 -7
- honeycomb/_generated/models/email_recipient_type.py +1 -0
- honeycomb/_generated/models/environment.py +6 -7
- honeycomb/_generated/models/environment_attributes.py +11 -9
- honeycomb/_generated/models/environment_attributes_color_type_1.py +1 -0
- honeycomb/_generated/models/environment_attributes_settings.py +1 -7
- honeycomb/_generated/models/environment_color.py +1 -0
- honeycomb/_generated/models/environment_links.py +1 -7
- honeycomb/_generated/models/environment_list_response.py +2 -5
- honeycomb/_generated/models/environment_relationship.py +8 -6
- honeycomb/_generated/models/environment_relationship_data.py +3 -8
- honeycomb/_generated/models/environment_relationship_data_type.py +1 -0
- honeycomb/_generated/models/environment_response.py +2 -3
- honeycomb/_generated/models/environment_type.py +1 -0
- honeycomb/_generated/models/error.py +2 -9
- honeycomb/_generated/models/event.py +2 -8
- honeycomb/_generated/models/exhaustion_time.py +4 -12
- honeycomb/_generated/models/exhaustion_time_alert_type.py +1 -0
- honeycomb/_generated/models/exhaustion_time_burn_alert_list_response.py +10 -10
- honeycomb/_generated/models/exhaustion_time_burn_alert_list_response_slo.py +2 -9
- honeycomb/_generated/models/filter_op.py +1 -0
- honeycomb/_generated/models/get_map_dependencies_response.py +7 -10
- honeycomb/_generated/models/get_map_dependencies_response_status.py +1 -0
- honeycomb/_generated/models/having_calculate_op.py +1 -0
- honeycomb/_generated/models/having_op.py +1 -0
- honeycomb/_generated/models/included_resource.py +6 -7
- honeycomb/_generated/models/included_resource_attributes.py +1 -7
- honeycomb/_generated/models/ingest_key_attributes.py +14 -11
- honeycomb/_generated/models/ingest_key_attributes_key_type.py +1 -0
- honeycomb/_generated/models/ingest_key_attributes_permissions.py +2 -9
- honeycomb/_generated/models/ingest_key_attributes_timestamps.py +4 -12
- honeycomb/_generated/models/ingest_key_request.py +100 -0
- honeycomb/_generated/models/ingest_key_request_attributes.py +75 -0
- honeycomb/_generated/models/ingest_key_request_type.py +8 -0
- honeycomb/_generated/models/ingest_key_type.py +2 -9
- honeycomb/_generated/models/ingest_key_type_key_type.py +1 -0
- honeycomb/_generated/models/jsonapi_error_source.py +2 -9
- honeycomb/_generated/models/kinesis_event.py +2 -5
- honeycomb/_generated/models/kinesis_event_record.py +2 -9
- honeycomb/_generated/models/kinesis_response.py +2 -9
- honeycomb/_generated/models/list_api_keys_filtertype.py +1 -0
- honeycomb/_generated/models/map_dependency.py +2 -5
- honeycomb/_generated/models/map_node.py +2 -9
- honeycomb/_generated/models/map_node_type.py +1 -0
- honeycomb/_generated/models/marker.py +2 -9
- honeycomb/_generated/models/marker_create_request.py +2 -3
- honeycomb/_generated/models/marker_create_request_data.py +16 -10
- honeycomb/_generated/models/marker_create_request_data_attributes.py +2 -9
- honeycomb/_generated/models/marker_create_request_data_relationships.py +2 -3
- honeycomb/_generated/models/marker_create_request_data_type.py +1 -0
- honeycomb/_generated/models/marker_object.py +7 -8
- honeycomb/_generated/models/marker_object_attributes.py +8 -8
- honeycomb/_generated/models/marker_object_attributes_timestamps.py +4 -12
- honeycomb/_generated/models/marker_object_links.py +2 -9
- honeycomb/_generated/models/marker_object_relationships.py +8 -8
- honeycomb/_generated/models/marker_object_relationships_dataset.py +8 -9
- honeycomb/_generated/models/marker_object_relationships_dataset_data_type_0.py +4 -10
- honeycomb/_generated/models/marker_object_relationships_dataset_data_type_0_type.py +1 -0
- honeycomb/_generated/models/marker_object_type.py +1 -0
- honeycomb/_generated/models/marker_response.py +2 -3
- honeycomb/_generated/models/marker_setting.py +2 -10
- honeycomb/_generated/models/marker_update_request.py +2 -3
- honeycomb/_generated/models/marker_update_request_data.py +16 -10
- honeycomb/_generated/models/marker_update_request_data_attributes.py +2 -9
- honeycomb/_generated/models/marker_update_request_data_relationships.py +2 -3
- honeycomb/_generated/models/marker_update_request_data_type.py +1 -0
- honeycomb/_generated/models/ms_teams_recipient.py +4 -7
- honeycomb/_generated/models/ms_teams_recipient_details.py +1 -7
- honeycomb/_generated/models/ms_teams_recipient_type.py +1 -0
- honeycomb/_generated/models/ms_teams_workflow_recipient.py +12 -11
- honeycomb/_generated/models/ms_teams_workflow_recipient_details.py +1 -7
- honeycomb/_generated/models/ms_teams_workflow_recipient_type.py +1 -0
- honeycomb/_generated/models/notification_recipient.py +8 -8
- honeycomb/_generated/models/notification_recipient_details.py +10 -9
- honeycomb/_generated/models/notification_recipient_details_pagerduty_severity.py +1 -0
- honeycomb/_generated/models/notification_recipient_details_variables_item.py +2 -9
- honeycomb/_generated/models/pager_duty_recipient.py +8 -9
- honeycomb/_generated/models/pager_duty_recipient_details.py +1 -7
- honeycomb/_generated/models/pager_duty_recipient_type.py +1 -0
- honeycomb/_generated/models/pagination_links.py +2 -8
- honeycomb/_generated/models/payload_template.py +2 -9
- honeycomb/_generated/models/pipeline_configuration_response.py +16 -10
- honeycomb/_generated/models/pipeline_configuration_response_attributes.py +8 -8
- honeycomb/_generated/models/pipeline_configuration_response_attributes_configs_item.py +1 -7
- honeycomb/_generated/models/pipeline_configuration_response_links.py +2 -9
- honeycomb/_generated/models/pipeline_configuration_response_type.py +1 -0
- honeycomb/_generated/models/pipeline_configuration_rollout.py +16 -10
- honeycomb/_generated/models/pipeline_configuration_rollout_attributes.py +3 -8
- honeycomb/_generated/models/pipeline_configuration_rollout_attributes_status.py +1 -0
- honeycomb/_generated/models/pipeline_configuration_rollout_links.py +2 -9
- honeycomb/_generated/models/pipeline_configuration_rollout_type.py +1 -0
- honeycomb/_generated/models/preset_filter.py +1 -7
- honeycomb/_generated/models/query.py +11 -11
- honeycomb/_generated/models/query_annotation.py +4 -12
- honeycomb/_generated/models/query_annotation_source.py +1 -0
- honeycomb/_generated/models/query_calculated_fields_item.py +1 -7
- honeycomb/_generated/models/query_calculations_item.py +2 -10
- honeycomb/_generated/models/query_compare_time_offset_seconds.py +1 -0
- honeycomb/_generated/models/query_filter_combination.py +1 -0
- honeycomb/_generated/models/query_filters_item.py +2 -11
- honeycomb/_generated/models/query_havings_item.py +2 -10
- honeycomb/_generated/models/query_op.py +1 -0
- honeycomb/_generated/models/query_orders_item.py +2 -9
- honeycomb/_generated/models/query_orders_item_order.py +1 -0
- honeycomb/_generated/models/query_panel.py +2 -6
- honeycomb/_generated/models/query_panel_query_panel.py +10 -9
- honeycomb/_generated/models/query_panel_query_panel_query_style.py +1 -0
- honeycomb/_generated/models/query_result.py +2 -5
- honeycomb/_generated/models/query_result_details.py +5 -8
- honeycomb/_generated/models/query_result_details_data.py +5 -8
- honeycomb/_generated/models/query_result_details_links.py +2 -9
- honeycomb/_generated/models/query_result_links.py +2 -9
- honeycomb/_generated/models/query_results_data.py +2 -5
- honeycomb/_generated/models/query_results_data_data.py +2 -8
- honeycomb/_generated/models/query_results_series.py +2 -5
- honeycomb/_generated/models/recipient_properties.py +4 -12
- honeycomb/_generated/models/recipient_type.py +1 -0
- honeycomb/_generated/models/slack_recipient.py +4 -7
- honeycomb/_generated/models/slack_recipient_details.py +1 -7
- honeycomb/_generated/models/slack_recipient_type.py +1 -0
- honeycomb/_generated/models/slo.py +4 -8
- honeycomb/_generated/models/slo_create.py +4 -8
- honeycomb/_generated/models/slo_create_sli.py +1 -7
- honeycomb/_generated/models/slo_detailed_response.py +4 -8
- honeycomb/_generated/models/slo_detailed_response_status.py +1 -0
- honeycomb/_generated/models/slo_history.py +2 -9
- honeycomb/_generated/models/slo_history_request.py +2 -8
- honeycomb/_generated/models/slo_history_response.py +2 -3
- honeycomb/_generated/models/slo_panel.py +2 -6
- honeycomb/_generated/models/slo_panel_slo_panel.py +2 -9
- honeycomb/_generated/models/slo_sli.py +1 -7
- honeycomb/_generated/models/tag.py +1 -7
- honeycomb/_generated/models/team_relationship.py +2 -3
- honeycomb/_generated/models/team_relationship_team.py +6 -5
- honeycomb/_generated/models/team_relationship_team_data.py +3 -8
- honeycomb/_generated/models/team_relationship_team_data_type.py +1 -0
- honeycomb/_generated/models/template_variable_definition.py +2 -9
- honeycomb/_generated/models/text_panel.py +2 -6
- honeycomb/_generated/models/text_panel_text_panel.py +1 -7
- honeycomb/_generated/models/trigger_response.py +27 -21
- honeycomb/_generated/models/trigger_with_inline_query.py +27 -21
- honeycomb/_generated/models/trigger_with_inline_query_query.py +1 -7
- honeycomb/_generated/models/trigger_with_query_reference.py +21 -18
- honeycomb/_generated/models/update_board_view_request.py +2 -5
- honeycomb/_generated/models/update_environment_request.py +8 -6
- honeycomb/_generated/models/update_environment_request_data.py +10 -7
- honeycomb/_generated/models/update_environment_request_data_attributes.py +8 -8
- honeycomb/_generated/models/update_environment_request_data_attributes_settings.py +2 -9
- honeycomb/_generated/models/update_environment_request_data_type.py +1 -0
- honeycomb/_generated/models/update_exhaustion_time_burn_alert_request.py +4 -7
- honeycomb/_generated/models/update_pipeline_configuration_rollout.py +10 -7
- honeycomb/_generated/models/update_pipeline_configuration_rollout_attributes.py +3 -8
- honeycomb/_generated/models/update_pipeline_configuration_rollout_attributes_status.py +1 -0
- honeycomb/_generated/models/update_pipeline_configuration_rollout_request.py +8 -6
- honeycomb/_generated/models/update_pipeline_configuration_rollout_request_data.py +10 -7
- honeycomb/_generated/models/update_pipeline_configuration_rollout_request_data_attributes.py +3 -8
- honeycomb/_generated/models/update_pipeline_configuration_rollout_request_data_attributes_status.py +1 -0
- honeycomb/_generated/models/update_pipeline_configuration_rollout_request_data_type.py +1 -0
- honeycomb/_generated/models/update_pipeline_configuration_rollout_response.py +8 -6
- honeycomb/_generated/models/update_pipeline_configuration_rollout_type.py +1 -0
- honeycomb/_generated/models/user_relationship.py +2 -3
- honeycomb/_generated/models/user_relationship_data.py +2 -8
- honeycomb/_generated/models/user_relationship_data_type.py +1 -0
- honeycomb/_generated/models/validation_error.py +8 -8
- honeycomb/_generated/models/validation_error_type_detail_item.py +4 -10
- honeycomb/_generated/models/validation_error_type_detail_item_code.py +1 -0
- honeycomb/_generated/models/webhook_header.py +2 -9
- honeycomb/_generated/models/webhook_recipient.py +4 -7
- honeycomb/_generated/models/webhook_recipient_details.py +8 -8
- honeycomb/_generated/models/webhook_recipient_details_webhook_payloads.py +12 -10
- honeycomb/_generated/models/webhook_recipient_details_webhook_payloads_payload_templates.py +2 -5
- honeycomb/_generated/models/webhook_recipient_type.py +1 -0
- honeycomb/_generated/types.py +1 -1
- honeycomb/cli/__init__.py +85 -0
- honeycomb/cli/api_keys.py +205 -0
- honeycomb/cli/auth.py +70 -0
- honeycomb/cli/boards.py +203 -0
- honeycomb/cli/columns.py +256 -0
- honeycomb/cli/config.py +259 -0
- honeycomb/cli/datasets.py +186 -0
- honeycomb/cli/derived_columns.py +222 -0
- honeycomb/cli/environments.py +240 -0
- honeycomb/cli/formatters.py +242 -0
- honeycomb/cli/markers.py +151 -0
- honeycomb/cli/queries.py +380 -0
- honeycomb/cli/recipients.py +211 -0
- honeycomb/cli/slos.py +338 -0
- honeycomb/cli/triggers.py +271 -0
- honeycomb/client.py +13 -7
- honeycomb/models/__init__.py +18 -3
- honeycomb/models/api_keys.py +49 -5
- honeycomb/models/auth.py +71 -0
- honeycomb/models/board_builder.py +97 -25
- honeycomb/models/boards.py +95 -1
- honeycomb/models/datasets.py +42 -0
- honeycomb/models/queries.py +21 -0
- honeycomb/models/query_builder.py +119 -59
- honeycomb/models/recipient_builder.py +51 -4
- honeycomb/models/slo_builder.py +24 -19
- honeycomb/models/slos.py +50 -3
- honeycomb/models/tool_inputs.py +630 -0
- honeycomb/models/triggers.py +39 -9
- honeycomb/resources/__init__.py +2 -0
- honeycomb/resources/api_keys.py +66 -29
- honeycomb/resources/auth.py +97 -0
- honeycomb/resources/boards.py +272 -18
- honeycomb/resources/datasets.py +49 -11
- honeycomb/resources/environments.py +54 -31
- honeycomb/resources/slos.py +87 -61
- honeycomb/tools/__main__.py +40 -4
- honeycomb/tools/builders.py +235 -150
- honeycomb/tools/descriptions.py +175 -7
- honeycomb/tools/executor.py +212 -25
- honeycomb/tools/generator.py +61 -2264
- honeycomb/tools/resources/__init__.py +42 -0
- honeycomb/tools/resources/api_keys.py +249 -0
- honeycomb/tools/resources/auth.py +98 -0
- honeycomb/tools/resources/boards.py +313 -0
- honeycomb/tools/resources/burn_alerts.py +278 -0
- honeycomb/tools/resources/columns.py +257 -0
- honeycomb/tools/resources/datasets.py +215 -0
- honeycomb/tools/resources/derived_columns.py +311 -0
- honeycomb/tools/resources/environments.py +211 -0
- honeycomb/tools/resources/events.py +158 -0
- honeycomb/tools/resources/marker_settings.py +216 -0
- honeycomb/tools/resources/markers.py +197 -0
- honeycomb/tools/resources/queries.py +220 -0
- honeycomb/tools/resources/recipients.py +297 -0
- honeycomb/tools/resources/service_map.py +110 -0
- honeycomb/tools/resources/slos.py +276 -0
- honeycomb/tools/resources/triggers.py +328 -0
- honeycomb/tools/schemas.py +81 -0
- {honeycomb_api-0.1.0.dist-info → honeycomb_api-0.5.3.dist-info}/METADATA +33 -8
- honeycomb_api-0.5.3.dist-info/RECORD +497 -0
- honeycomb_api-0.5.3.dist-info/entry_points.txt +5 -0
- honeycomb_api-0.1.0.dist-info/RECORD +0 -453
- {honeycomb_api-0.1.0.dist-info → honeycomb_api-0.5.3.dist-info}/WHEEL +0 -0
- {honeycomb_api-0.1.0.dist-info → honeycomb_api-0.5.3.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,16 +1,13 @@
|
|
|
1
|
-
|
|
1
|
+
import datetime
|
|
2
|
+
from typing import (TYPE_CHECKING, Any, BinaryIO, Optional, TextIO, TypeVar,
|
|
3
|
+
Union, cast)
|
|
2
4
|
|
|
3
5
|
from attrs import define as _attrs_define
|
|
4
6
|
from attrs import field as _attrs_field
|
|
5
|
-
|
|
6
|
-
from ..types import UNSET, Unset
|
|
7
|
+
from dateutil.parser import isoparse
|
|
7
8
|
|
|
8
9
|
from ..models.webhook_recipient_type import WebhookRecipientType
|
|
9
10
|
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
11
|
|
|
15
12
|
if TYPE_CHECKING:
|
|
16
13
|
from ..models.webhook_recipient_details import WebhookRecipientDetails
|
|
@@ -1,17 +1,15 @@
|
|
|
1
|
-
from typing import Any,
|
|
1
|
+
from typing import (TYPE_CHECKING, Any, BinaryIO, Optional, TextIO, TypeVar,
|
|
2
|
+
Union, cast)
|
|
2
3
|
|
|
3
4
|
from attrs import define as _attrs_define
|
|
4
5
|
from attrs import field as _attrs_field
|
|
5
6
|
|
|
6
7
|
from ..types import UNSET, Unset
|
|
7
8
|
|
|
8
|
-
from ..types import UNSET, Unset
|
|
9
|
-
from typing import cast
|
|
10
|
-
from typing import Union
|
|
11
|
-
|
|
12
9
|
if TYPE_CHECKING:
|
|
13
10
|
from ..models.webhook_header import WebhookHeader
|
|
14
|
-
from ..models.webhook_recipient_details_webhook_payloads import
|
|
11
|
+
from ..models.webhook_recipient_details_webhook_payloads import \
|
|
12
|
+
WebhookRecipientDetailsWebhookPayloads
|
|
15
13
|
|
|
16
14
|
|
|
17
15
|
|
|
@@ -44,7 +42,8 @@ class WebhookRecipientDetails:
|
|
|
44
42
|
|
|
45
43
|
def to_dict(self) -> dict[str, Any]:
|
|
46
44
|
from ..models.webhook_header import WebhookHeader
|
|
47
|
-
from ..models.webhook_recipient_details_webhook_payloads import
|
|
45
|
+
from ..models.webhook_recipient_details_webhook_payloads import \
|
|
46
|
+
WebhookRecipientDetailsWebhookPayloads
|
|
48
47
|
webhook_name = self.webhook_name
|
|
49
48
|
|
|
50
49
|
webhook_url = self.webhook_url
|
|
@@ -85,7 +84,8 @@ class WebhookRecipientDetails:
|
|
|
85
84
|
@classmethod
|
|
86
85
|
def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
|
|
87
86
|
from ..models.webhook_header import WebhookHeader
|
|
88
|
-
from ..models.webhook_recipient_details_webhook_payloads import
|
|
87
|
+
from ..models.webhook_recipient_details_webhook_payloads import \
|
|
88
|
+
WebhookRecipientDetailsWebhookPayloads
|
|
89
89
|
d = src_dict.copy()
|
|
90
90
|
webhook_name = d.pop("webhook_name")
|
|
91
91
|
|
|
@@ -1,17 +1,15 @@
|
|
|
1
|
-
from typing import Any,
|
|
1
|
+
from typing import (TYPE_CHECKING, Any, BinaryIO, Optional, TextIO, TypeVar,
|
|
2
|
+
Union, cast)
|
|
2
3
|
|
|
3
4
|
from attrs import define as _attrs_define
|
|
4
5
|
from attrs import field as _attrs_field
|
|
5
6
|
|
|
6
7
|
from ..types import UNSET, Unset
|
|
7
8
|
|
|
8
|
-
from ..types import UNSET, Unset
|
|
9
|
-
from typing import cast
|
|
10
|
-
from typing import Union
|
|
11
|
-
|
|
12
9
|
if TYPE_CHECKING:
|
|
13
10
|
from ..models.template_variable_definition import TemplateVariableDefinition
|
|
14
|
-
from ..models.webhook_recipient_details_webhook_payloads_payload_templates import
|
|
11
|
+
from ..models.webhook_recipient_details_webhook_payloads_payload_templates import \
|
|
12
|
+
WebhookRecipientDetailsWebhookPayloadsPayloadTemplates
|
|
15
13
|
|
|
16
14
|
|
|
17
15
|
|
|
@@ -37,8 +35,10 @@ class WebhookRecipientDetailsWebhookPayloads:
|
|
|
37
35
|
|
|
38
36
|
|
|
39
37
|
def to_dict(self) -> dict[str, Any]:
|
|
40
|
-
from ..models.template_variable_definition import
|
|
41
|
-
|
|
38
|
+
from ..models.template_variable_definition import \
|
|
39
|
+
TemplateVariableDefinition
|
|
40
|
+
from ..models.webhook_recipient_details_webhook_payloads_payload_templates import \
|
|
41
|
+
WebhookRecipientDetailsWebhookPayloadsPayloadTemplates
|
|
42
42
|
template_variables: Union[Unset, list[dict[str, Any]]] = UNSET
|
|
43
43
|
if not isinstance(self.template_variables, Unset):
|
|
44
44
|
template_variables = []
|
|
@@ -68,8 +68,10 @@ class WebhookRecipientDetailsWebhookPayloads:
|
|
|
68
68
|
|
|
69
69
|
@classmethod
|
|
70
70
|
def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
|
|
71
|
-
from ..models.template_variable_definition import
|
|
72
|
-
|
|
71
|
+
from ..models.template_variable_definition import \
|
|
72
|
+
TemplateVariableDefinition
|
|
73
|
+
from ..models.webhook_recipient_details_webhook_payloads_payload_templates import \
|
|
74
|
+
WebhookRecipientDetailsWebhookPayloadsPayloadTemplates
|
|
73
75
|
d = src_dict.copy()
|
|
74
76
|
template_variables = []
|
|
75
77
|
_template_variables = d.pop("template_variables", UNSET)
|
|
@@ -1,14 +1,11 @@
|
|
|
1
|
-
from typing import Any,
|
|
1
|
+
from typing import (TYPE_CHECKING, Any, BinaryIO, Optional, TextIO, TypeVar,
|
|
2
|
+
Union, cast)
|
|
2
3
|
|
|
3
4
|
from attrs import define as _attrs_define
|
|
4
5
|
from attrs import field as _attrs_field
|
|
5
6
|
|
|
6
7
|
from ..types import UNSET, Unset
|
|
7
8
|
|
|
8
|
-
from ..types import UNSET, Unset
|
|
9
|
-
from typing import cast
|
|
10
|
-
from typing import Union
|
|
11
|
-
|
|
12
9
|
if TYPE_CHECKING:
|
|
13
10
|
from ..models.payload_template import PayloadTemplate
|
|
14
11
|
|
honeycomb/_generated/types.py
CHANGED
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"""
|
|
2
|
+
CLI for Honeycomb API operations.
|
|
3
|
+
|
|
4
|
+
Provides commands for managing triggers, SLOs, boards, queries, datasets,
|
|
5
|
+
markers, recipients, and derived columns.
|
|
6
|
+
"""
|
|
7
|
+
|
|
8
|
+
import typer
|
|
9
|
+
from rich.console import Console
|
|
10
|
+
|
|
11
|
+
app = typer.Typer(
|
|
12
|
+
name="honeycomb",
|
|
13
|
+
help="CLI for Honeycomb.io API operations",
|
|
14
|
+
no_args_is_help=True,
|
|
15
|
+
)
|
|
16
|
+
console = Console()
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
# Import and register subcommands
|
|
20
|
+
# These imports are deferred to avoid circular dependencies
|
|
21
|
+
def _register_commands() -> None:
|
|
22
|
+
"""Register all CLI subcommands."""
|
|
23
|
+
from honeycomb.cli import (
|
|
24
|
+
api_keys,
|
|
25
|
+
auth,
|
|
26
|
+
boards,
|
|
27
|
+
columns,
|
|
28
|
+
config,
|
|
29
|
+
datasets,
|
|
30
|
+
derived_columns,
|
|
31
|
+
environments,
|
|
32
|
+
markers,
|
|
33
|
+
queries,
|
|
34
|
+
recipients,
|
|
35
|
+
slos,
|
|
36
|
+
triggers,
|
|
37
|
+
)
|
|
38
|
+
|
|
39
|
+
# we can't do real aliases because Typer doesn't support them
|
|
40
|
+
# but watch this PR: https://github.com/fastapi/typer/pull/1422
|
|
41
|
+
app.add_typer(triggers.app, name="triggers")
|
|
42
|
+
app.add_typer(triggers.app, name="trigger", hidden=True)
|
|
43
|
+
app.add_typer(triggers.app, name="t", hidden=True)
|
|
44
|
+
app.add_typer(slos.app, name="slos")
|
|
45
|
+
app.add_typer(slos.app, name="slo", hidden=True)
|
|
46
|
+
app.add_typer(slos.app, name="s", hidden=True)
|
|
47
|
+
app.add_typer(boards.app, name="boards")
|
|
48
|
+
app.add_typer(boards.app, name="board", hidden=True)
|
|
49
|
+
app.add_typer(boards.app, name="b", hidden=True)
|
|
50
|
+
app.add_typer(columns.app, name="columns")
|
|
51
|
+
app.add_typer(columns.app, name="column", hidden=True)
|
|
52
|
+
app.add_typer(columns.app, name="c", hidden=True)
|
|
53
|
+
app.add_typer(queries.app, name="queries")
|
|
54
|
+
app.add_typer(queries.app, name="query", hidden=True)
|
|
55
|
+
app.add_typer(queries.app, name="q", hidden=True)
|
|
56
|
+
app.add_typer(datasets.app, name="datasets")
|
|
57
|
+
app.add_typer(datasets.app, name="dataset", hidden=True)
|
|
58
|
+
app.add_typer(datasets.app, name="d", hidden=True)
|
|
59
|
+
app.add_typer(markers.app, name="markers")
|
|
60
|
+
app.add_typer(markers.app, name="marker", hidden=True)
|
|
61
|
+
app.add_typer(markers.app, name="m", hidden=True)
|
|
62
|
+
app.add_typer(recipients.app, name="recipients")
|
|
63
|
+
app.add_typer(recipients.app, name="recipient", hidden=True)
|
|
64
|
+
app.add_typer(recipients.app, name="r", hidden=True)
|
|
65
|
+
app.add_typer(derived_columns.app, name="derived-columns")
|
|
66
|
+
app.add_typer(derived_columns.app, name="derived-column", hidden=True)
|
|
67
|
+
app.add_typer(derived_columns.app, name="dc", hidden=True)
|
|
68
|
+
app.add_typer(derived_columns.app, name="calculated-fields", hidden=True)
|
|
69
|
+
app.add_typer(derived_columns.app, name="calculated-field", hidden=True)
|
|
70
|
+
app.add_typer(derived_columns.app, name="cf", hidden=True)
|
|
71
|
+
app.add_typer(auth.app, name="auth")
|
|
72
|
+
app.add_typer(api_keys.app, name="api-keys")
|
|
73
|
+
app.add_typer(api_keys.app, name="api-key", hidden=True)
|
|
74
|
+
app.add_typer(api_keys.app, name="a", hidden=True)
|
|
75
|
+
app.add_typer(environments.app, name="environments")
|
|
76
|
+
app.add_typer(environments.app, name="environment", hidden=True)
|
|
77
|
+
app.add_typer(environments.app, name="e", hidden=True)
|
|
78
|
+
app.add_typer(config.app, name="config")
|
|
79
|
+
app.add_typer(config.app, name="conf", hidden=True)
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
_register_commands()
|
|
83
|
+
|
|
84
|
+
if __name__ == "__main__":
|
|
85
|
+
app()
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
"""API Keys management commands (v2 team-scoped)."""
|
|
2
|
+
|
|
3
|
+
import typer
|
|
4
|
+
from rich.console import Console
|
|
5
|
+
|
|
6
|
+
from honeycomb.cli.config import get_client
|
|
7
|
+
from honeycomb.cli.formatters import DEFAULT_OUTPUT_FORMAT, OutputFormat, output_result
|
|
8
|
+
from honeycomb.models.api_keys import ApiKeyCreate, ApiKeyType
|
|
9
|
+
|
|
10
|
+
app = typer.Typer(help="Manage API keys (requires management key)")
|
|
11
|
+
console = Console()
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
@app.command("list")
|
|
15
|
+
def list_api_keys(
|
|
16
|
+
key_type: str | None = typer.Option(
|
|
17
|
+
None, "--type", help="Filter by type: ingest or configuration"
|
|
18
|
+
),
|
|
19
|
+
profile: str | None = typer.Option(None, "--profile", "-p", help="Config profile to use"),
|
|
20
|
+
management_key: str | None = typer.Option(
|
|
21
|
+
None, "--management-key", envvar="HONEYCOMB_MANAGEMENT_KEY"
|
|
22
|
+
),
|
|
23
|
+
management_secret: str | None = typer.Option(
|
|
24
|
+
None, "--management-secret", envvar="HONEYCOMB_MANAGEMENT_SECRET"
|
|
25
|
+
),
|
|
26
|
+
output: OutputFormat = typer.Option(DEFAULT_OUTPUT_FORMAT, "--output", "-o"),
|
|
27
|
+
) -> None:
|
|
28
|
+
"""List all API keys for your authenticated team.
|
|
29
|
+
|
|
30
|
+
Examples:
|
|
31
|
+
# List all API keys
|
|
32
|
+
hny api-keys list
|
|
33
|
+
|
|
34
|
+
# Filter by type
|
|
35
|
+
hny api-keys list --type ingest
|
|
36
|
+
"""
|
|
37
|
+
try:
|
|
38
|
+
client = get_client(
|
|
39
|
+
profile=profile,
|
|
40
|
+
management_key=management_key,
|
|
41
|
+
management_secret=management_secret,
|
|
42
|
+
)
|
|
43
|
+
|
|
44
|
+
keys = client.api_keys.list(key_type=key_type)
|
|
45
|
+
output_result(keys, output)
|
|
46
|
+
|
|
47
|
+
except Exception as e:
|
|
48
|
+
console.print(f"[red]Error:[/red] {e}", style="bold")
|
|
49
|
+
raise typer.Exit(1)
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
@app.command("get")
|
|
53
|
+
def get_api_key(
|
|
54
|
+
key_id: str = typer.Argument(..., help="API key ID"),
|
|
55
|
+
profile: str | None = typer.Option(None, "--profile", "-p", help="Config profile to use"),
|
|
56
|
+
management_key: str | None = typer.Option(
|
|
57
|
+
None, "--management-key", envvar="HONEYCOMB_MANAGEMENT_KEY"
|
|
58
|
+
),
|
|
59
|
+
management_secret: str | None = typer.Option(
|
|
60
|
+
None, "--management-secret", envvar="HONEYCOMB_MANAGEMENT_SECRET"
|
|
61
|
+
),
|
|
62
|
+
output: OutputFormat = typer.Option(DEFAULT_OUTPUT_FORMAT, "--output", "-o"),
|
|
63
|
+
) -> None:
|
|
64
|
+
"""Get a specific API key by ID for your authenticated team.
|
|
65
|
+
|
|
66
|
+
Examples:
|
|
67
|
+
hny api-keys get hcaik_123
|
|
68
|
+
"""
|
|
69
|
+
try:
|
|
70
|
+
client = get_client(
|
|
71
|
+
profile=profile,
|
|
72
|
+
management_key=management_key,
|
|
73
|
+
management_secret=management_secret,
|
|
74
|
+
)
|
|
75
|
+
|
|
76
|
+
key = client.api_keys.get(key_id=key_id)
|
|
77
|
+
output_result(key, output)
|
|
78
|
+
|
|
79
|
+
except Exception as e:
|
|
80
|
+
console.print(f"[red]Error:[/red] {e}", style="bold")
|
|
81
|
+
raise typer.Exit(1)
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
@app.command("create")
|
|
85
|
+
def create_api_key(
|
|
86
|
+
name: str = typer.Option(..., "--name", help="API key name"),
|
|
87
|
+
key_type: ApiKeyType = typer.Option(..., "--type", help="Key type: ingest or configuration"),
|
|
88
|
+
environment_id: str = typer.Option(..., "--environment", "-e", help="Environment ID"),
|
|
89
|
+
profile: str | None = typer.Option(None, "--profile", "-p", help="Config profile to use"),
|
|
90
|
+
management_key: str | None = typer.Option(
|
|
91
|
+
None, "--management-key", envvar="HONEYCOMB_MANAGEMENT_KEY"
|
|
92
|
+
),
|
|
93
|
+
management_secret: str | None = typer.Option(
|
|
94
|
+
None, "--management-secret", envvar="HONEYCOMB_MANAGEMENT_SECRET"
|
|
95
|
+
),
|
|
96
|
+
output: OutputFormat = typer.Option(DEFAULT_OUTPUT_FORMAT, "--output", "-o"),
|
|
97
|
+
) -> None:
|
|
98
|
+
"""Create a new API key for your authenticated team.
|
|
99
|
+
|
|
100
|
+
Examples:
|
|
101
|
+
hny api-keys create --name "My Key" --type ingest --environment env-123
|
|
102
|
+
"""
|
|
103
|
+
try:
|
|
104
|
+
client = get_client(
|
|
105
|
+
profile=profile,
|
|
106
|
+
management_key=management_key,
|
|
107
|
+
management_secret=management_secret,
|
|
108
|
+
)
|
|
109
|
+
|
|
110
|
+
api_key = ApiKeyCreate(
|
|
111
|
+
name=name,
|
|
112
|
+
key_type=key_type,
|
|
113
|
+
environment_id=environment_id,
|
|
114
|
+
)
|
|
115
|
+
|
|
116
|
+
created = client.api_keys.create(api_key=api_key)
|
|
117
|
+
output_result(created, output)
|
|
118
|
+
|
|
119
|
+
# Warn about secret
|
|
120
|
+
if created.secret and output == OutputFormat.table:
|
|
121
|
+
console.print(
|
|
122
|
+
"\n[yellow]Warning:[/yellow] The secret is only shown once. Save it securely!",
|
|
123
|
+
style="bold",
|
|
124
|
+
)
|
|
125
|
+
|
|
126
|
+
except Exception as e:
|
|
127
|
+
console.print(f"[red]Error:[/red] {e}", style="bold")
|
|
128
|
+
raise typer.Exit(1)
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
@app.command("update")
|
|
132
|
+
def update_api_key(
|
|
133
|
+
key_id: str = typer.Argument(..., help="API key ID"),
|
|
134
|
+
name: str | None = typer.Option(None, "--name", help="New name"),
|
|
135
|
+
disabled: bool | None = typer.Option(None, "--disabled", help="Disable the key"),
|
|
136
|
+
profile: str | None = typer.Option(None, "--profile", "-p", help="Config profile to use"),
|
|
137
|
+
management_key: str | None = typer.Option(
|
|
138
|
+
None, "--management-key", envvar="HONEYCOMB_MANAGEMENT_KEY"
|
|
139
|
+
),
|
|
140
|
+
management_secret: str | None = typer.Option(
|
|
141
|
+
None, "--management-secret", envvar="HONEYCOMB_MANAGEMENT_SECRET"
|
|
142
|
+
),
|
|
143
|
+
output: OutputFormat = typer.Option(DEFAULT_OUTPUT_FORMAT, "--output", "-o"),
|
|
144
|
+
) -> None:
|
|
145
|
+
"""Update an API key for your authenticated team.
|
|
146
|
+
|
|
147
|
+
Examples:
|
|
148
|
+
hny api-keys update hcaik_123 --name "New Name"
|
|
149
|
+
hny api-keys update hcaik_123 --disabled
|
|
150
|
+
"""
|
|
151
|
+
try:
|
|
152
|
+
from honeycomb.models.api_keys import ApiKeyUpdate
|
|
153
|
+
|
|
154
|
+
client = get_client(
|
|
155
|
+
profile=profile,
|
|
156
|
+
management_key=management_key,
|
|
157
|
+
management_secret=management_secret,
|
|
158
|
+
)
|
|
159
|
+
|
|
160
|
+
update = ApiKeyUpdate(name=name, disabled=disabled)
|
|
161
|
+
updated = client.api_keys.update(key_id=key_id, api_key=update)
|
|
162
|
+
output_result(updated, output)
|
|
163
|
+
|
|
164
|
+
except Exception as e:
|
|
165
|
+
console.print(f"[red]Error:[/red] {e}", style="bold")
|
|
166
|
+
raise typer.Exit(1)
|
|
167
|
+
|
|
168
|
+
|
|
169
|
+
@app.command("delete")
|
|
170
|
+
def delete_api_key(
|
|
171
|
+
key_id: str = typer.Argument(..., help="API key ID"),
|
|
172
|
+
profile: str | None = typer.Option(None, "--profile", "-p", help="Config profile to use"),
|
|
173
|
+
management_key: str | None = typer.Option(
|
|
174
|
+
None, "--management-key", envvar="HONEYCOMB_MANAGEMENT_KEY"
|
|
175
|
+
),
|
|
176
|
+
management_secret: str | None = typer.Option(
|
|
177
|
+
None, "--management-secret", envvar="HONEYCOMB_MANAGEMENT_SECRET"
|
|
178
|
+
),
|
|
179
|
+
yes: bool = typer.Option(False, "--yes", "-y", help="Skip confirmation"),
|
|
180
|
+
) -> None:
|
|
181
|
+
"""Delete an API key for your authenticated team.
|
|
182
|
+
|
|
183
|
+
Examples:
|
|
184
|
+
hny api-keys delete hcaik_123
|
|
185
|
+
hny api-keys delete hcaik_123 --yes
|
|
186
|
+
"""
|
|
187
|
+
try:
|
|
188
|
+
if not yes:
|
|
189
|
+
confirm = typer.confirm(f"Delete API key {key_id}?")
|
|
190
|
+
if not confirm:
|
|
191
|
+
console.print("Cancelled")
|
|
192
|
+
raise typer.Exit(0)
|
|
193
|
+
|
|
194
|
+
client = get_client(
|
|
195
|
+
profile=profile,
|
|
196
|
+
management_key=management_key,
|
|
197
|
+
management_secret=management_secret,
|
|
198
|
+
)
|
|
199
|
+
|
|
200
|
+
client.api_keys.delete(key_id=key_id)
|
|
201
|
+
console.print(f"[green]Deleted API key:[/green] {key_id}")
|
|
202
|
+
|
|
203
|
+
except Exception as e:
|
|
204
|
+
console.print(f"[red]Error:[/red] {e}", style="bold")
|
|
205
|
+
raise typer.Exit(1)
|
honeycomb/cli/auth.py
ADDED
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"""Authentication information commands."""
|
|
2
|
+
|
|
3
|
+
import typer
|
|
4
|
+
from rich.console import Console
|
|
5
|
+
|
|
6
|
+
from honeycomb.cli.config import get_client
|
|
7
|
+
from honeycomb.cli.formatters import DEFAULT_OUTPUT_FORMAT, OutputFormat, output_result
|
|
8
|
+
|
|
9
|
+
app = typer.Typer(help="Authentication and API key information")
|
|
10
|
+
console = Console()
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
@app.command("get")
|
|
14
|
+
def get_auth(
|
|
15
|
+
v2: bool = typer.Option(False, "--v2", help="Use v2 endpoint (management key)"),
|
|
16
|
+
profile: str | None = typer.Option(None, "--profile", "-p", help="Config profile to use"),
|
|
17
|
+
api_key: str | None = typer.Option(None, "--api-key", envvar="HONEYCOMB_API_KEY"),
|
|
18
|
+
management_key: str | None = typer.Option(
|
|
19
|
+
None, "--management-key", envvar="HONEYCOMB_MANAGEMENT_KEY"
|
|
20
|
+
),
|
|
21
|
+
management_secret: str | None = typer.Option(
|
|
22
|
+
None, "--management-secret", envvar="HONEYCOMB_MANAGEMENT_SECRET"
|
|
23
|
+
),
|
|
24
|
+
output: OutputFormat = typer.Option(DEFAULT_OUTPUT_FORMAT, "--output", "-o"),
|
|
25
|
+
) -> None:
|
|
26
|
+
"""Get metadata about the current API key.
|
|
27
|
+
|
|
28
|
+
Shows information about the API key being used, including:
|
|
29
|
+
- Team and environment details
|
|
30
|
+
- Key type and permissions
|
|
31
|
+
- Expiration (if applicable)
|
|
32
|
+
|
|
33
|
+
By default, uses v1 endpoint (API key). Use --v2 to query management key info.
|
|
34
|
+
|
|
35
|
+
Examples:
|
|
36
|
+
# Use v1 endpoint (default)
|
|
37
|
+
hny auth get
|
|
38
|
+
|
|
39
|
+
# Use v2 endpoint (management key)
|
|
40
|
+
hny auth get --v2
|
|
41
|
+
|
|
42
|
+
# Output as JSON
|
|
43
|
+
hny auth get --output json
|
|
44
|
+
"""
|
|
45
|
+
try:
|
|
46
|
+
# Based on the flag, only pass relevant credentials to client
|
|
47
|
+
if v2:
|
|
48
|
+
# Use v2: only pass management credentials
|
|
49
|
+
client = get_client(
|
|
50
|
+
profile=profile,
|
|
51
|
+
management_key=management_key,
|
|
52
|
+
management_secret=management_secret,
|
|
53
|
+
)
|
|
54
|
+
auth_info = client.auth.get(use_v2=True)
|
|
55
|
+
else:
|
|
56
|
+
# Use v1 (default): only pass API key
|
|
57
|
+
client = get_client(
|
|
58
|
+
profile=profile,
|
|
59
|
+
api_key=api_key,
|
|
60
|
+
)
|
|
61
|
+
auth_info = client.auth.get(use_v2=False)
|
|
62
|
+
|
|
63
|
+
output_result(auth_info, output)
|
|
64
|
+
|
|
65
|
+
except ValueError as e:
|
|
66
|
+
console.print(f"[red]Error:[/red] {e}", style="bold")
|
|
67
|
+
raise typer.Exit(1)
|
|
68
|
+
except Exception as e:
|
|
69
|
+
console.print(f"[red]Error:[/red] {e}", style="bold")
|
|
70
|
+
raise typer.Exit(1)
|