### Create a Honeycomb Board View with Comprehensive Filters Source: https://github.com/honeycombio/terraform-provider-honeycombio/blob/main/docs/resources/board_view.md This example shows a more comprehensive setup, creating a flexible board with tags and then defining multiple board views for different monitoring purposes, including API errors, core services, and slow database queries. ```terraform variable "dataset" { type = string } # Create a flexible board resource "honeycombio_flexible_board" "monitoring" { name = "Application Monitoring" description = "Comprehensive monitoring dashboard" tags = { team = "platform" project = "monitoring" } } # Board view for API errors resource "honeycombio_board_view" "api_errors" { board_id = honeycombio_flexible_board.monitoring.id name = "API Errors" filter { column = "service.name" operation = "exists" } filter { column = "http.status_code" operation = ">=" value = "400" } filter { column = "environment" operation = "=" value = "production" } filter { column = "error.message" operation = "contains" value = "timeout" } } # Board view for specific services resource "honeycombio_board_view" "core_services" { board_id = honeycombio_flexible_board.monitoring.id name = "Core Services" filter { column = "service.name" operation = "in" value = "api-service,payment-service,user-service" } filter { column = "duration_ms" operation = "<" value = "500" } } # Board view for slow queries resource "honeycombio_board_view" "slow_queries" { board_id = honeycombio_flexible_board.monitoring.id name = "Slow Database Queries" filter { column = "query.duration_ms" operation = ">" value = "1000" } filter { column = "database.name" operation = "exists" } filter { column = "query.type" operation = "!=" value = "SELECT" } } ``` -------------------------------- ### Example Usage of honeycombio_query Resource Source: https://github.com/honeycombio/terraform-provider-honeycombio/blob/main/docs/resources/query.md This example demonstrates how to create a Honeycomb query using the `honeycombio_query` resource, referencing a derived column and using the `honeycombio_query_specification` data source. It includes a `lifecycle` block to ensure the query is recreated if the derived column definition changes. ```terraform variable "dataset" { type = string } resource "honeycombio_derived_column" "duration_ms_log10" { alias = "duration_ms_log10" expression = "LOG10($duration_ms)" description = "LOG10 of duration_ms" dataset = var.dataset } data "honeycombio_query_specification" "example" { calculation { op = "P90" column = "duration_ms" } calculation { op = "HEATMAP" column = $honeycombio_derived_column.duration_ms_log10.alias } filter { column = "duration_ms" op = "exists" } } resource "honeycombio_query" "example" { dataset = var.dataset query_json = data.honeycombio_query_specification.example.json lifecycle { replace_triggered_by = [ # re-create the query if the derived column is changed # to ensure we're using the latest definition honeycombio_derived_column.duration_ms_log10 ] } } ``` -------------------------------- ### Example Usage of honeycombio_trigger_recipient Data Source Source: https://github.com/honeycombio/terraform-provider-honeycombio/blob/main/docs/data-sources/trigger_recipient.md This example demonstrates how to search for a Slack trigger recipient and then use its ID when creating a new Honeycomb trigger. It also shows the definition of a query specification and a trigger resource. ```terraform variable "dataset" { type = string } # search for a trigger recipient of type "slack" and target "honeycomb-triggers" in the given dataset data "honeycombio_trigger_recipient" "slack" { dataset = var.dataset type = "slack" target = "honeycomb-triggers" } data "honeycombio_query_specification" "example" { calculation { op = "AVG" column = "duration_ms" } } resource "honeycombio_trigger" "example" { name = "Requests are slower than usual" query_json = data.honeycombio_query_specification.example.json dataset = var.dataset threshold { op = ">" value = 1000 } recipient { type = "email" target = "hello@example.com" } # add an already existing recipient recipient { id = data.honeycombio_trigger_recipient.slack.id } } ``` -------------------------------- ### Import Environment-Wide Derived Column Source: https://github.com/honeycombio/terraform-provider-honeycombio/blob/main/docs/resources/derived_column.md Example of how to import an environment-wide derived column using only its alias. ```bash $ terraform import honeycombio_derived_column.my_column duration_ms_log10 ``` -------------------------------- ### Create a Honeycomb Marker Source: https://github.com/honeycombio/terraform-provider-honeycombio/blob/main/docs/resources/marker.md Example of how to create a 'deploy' marker for a specific dataset with a message and a URL. Ensure the 'dataset' variable is defined. ```terraform variable "dataset" { type = string } variable "app_version" { type = string } resource "honeycombio_marker" "app_deploy" { message = "deploy ${var.app_version}" type = "deploy" url = "http://www.example.com/" dataset = var.dataset } ``` -------------------------------- ### Honeycomb Query Result Example Source: https://github.com/honeycombio/terraform-provider-honeycombio/blob/main/docs/data-sources/query_result.md This example demonstrates how to use the `honeycombio_query_result` data source to fetch event counts. It first defines a query specification and then uses its JSON output to query the results. The output displays the event count and the time range of the query. ```terraform data "honeycombio_query_specification" "example" { time_range = 7200 calculation { op = "COUNT" } } data "honeycombio_query_result" "example" { dataset = var.dataset query_json = data.honeycombio_query_specification.example.json } output "event_count" { value = format( "There have been %d events in the last %d seconds.", data.honeycombio_query_result.example.results[0]["COUNT"], data.honeycombio_query_specification.example.time_range ) } ``` -------------------------------- ### Create a Honeycomb Board View with Basic Filters Source: https://github.com/honeycombio/terraform-provider-honeycombio/blob/main/docs/resources/board_view.md This example demonstrates how to create a basic board view with multiple filter types, including existence, equality, range, and inclusion/exclusion. ```terraform variable "dataset" { type = string } # Create a flexible board first resource "honeycombio_flexible_board" "example" { name = "Service Monitoring Board" description = "A board for monitoring service health" } # Create a board view with various filter types resource "honeycombio_board_view" "production_errors" { board_id = honeycombio_flexible_board.example.id name = "Production Errors" filter { column = "service.name" operation = "exists" } filter { column = "environment" operation = "=" value = "production" } filter { column = "status_code" operation = ">=" value = "500" } filter { column = "error_type" operation = "in" value = "timeout,database_error,network_error" } } # Another board view example with different filters resource "honeycombio_board_view" "high_latency" { board_id = honeycombio_flexible_board.example.id name = "High Latency Requests" filter { column = "trace.parent_id" operation = "does-not-exist" } filter { column = "duration_ms" operation = ">" value = "1000" } filter { column = "service.name" operation = "not-in" value = "health-check,metrics" } } ``` -------------------------------- ### Importing a honeycombio_query Resource Source: https://github.com/honeycombio/terraform-provider-honeycombio/blob/main/docs/resources/query.md This example shows the command to import an existing Honeycomb query into your Terraform state. You need to provide the dataset name and the query ID. ```bash $ terraform import honeycombio_query.my_query my-dataset/bj8BwOa1uRz ``` -------------------------------- ### Create a Simple Flexible Board Source: https://github.com/honeycombio/terraform-provider-honeycombio/blob/main/docs/resources/flexible_board.md This example demonstrates how to create a flexible board with query, SLO, and text panels. It includes defining a query specification, a derived column for an SLI, an SLO, and configuring the board's layout and content. ```terraform variable "dataset" { type = string } data "honeycombio_query_specification" "latency_by_userid" { time_range = 86400 breakdowns = ["app.user_id"] calculation { op = "HEATMAP" column = "duration_ms" } calculation { op = "P99" column = "duration_ms" } filter { column = "trace.parent_id" op = "does-not-exist" } order { column = "duration_ms" op = "P99" order = "descending" } } resource "honeycombio_query" "latency_by_userid" { dataset = var.dataset query_json = data.honeycombio_query_specification.latency_by_userid.json } resource "honeycombio_query_annotation" "latency_by_userid" { dataset = var.dataset query_id = honeycombio_query.latency_by_userid.id name = "Latency by User" description = "A breakdown of trace latency by User over the last 24 hours" } resource "honeycombio_derived_column" "request_latency_sli" { alias = "sli.request_latency" description = "SLI: request latency less than 300ms" dataset = var.dataset # heredoc also works expression = file("../sli/sli.request_latency.honeycomb") lifecycle { # in order to avoid potential conflicts with renaming the derived column # while in use by the SLO, we set create_before_destroy to true create_before_destroy = true } } resource "honeycombio_slo" "slo" { name = "Latency SLO" description = "example SLO" dataset = var.dataset sli = honeycombio_derived_column.request_latency_sli.alias target_percentage = 99.9 time_period = 30 tags = { team = "web" } } resource "honeycombio_flexible_board" "overview" { name = "Service Overview" description = "My flexible board description" tags = { team = "web" project = "secret" } preset_filter { column = "duration_ms" alias = "Duration" } preset_filter { column = "app.user_id" alias = "User ID" } panel { type = "query" query_panel { query_id = honeycombio_query.latency_by_userid.id query_annotation_id = honeycombio_query_annotation.latency_by_userid.id query_style = "combo" visualization_settings { use_utc_xaxis = true chart { chart_type = "line" chart_index = 0 omit_missing_values = true use_log_scale = true } } } } panel { type = "slo" slo_panel { slo_id = honeycombio_slo.slo.id } } panel { type = "text" text_panel { content = < ``` -------------------------------- ### Initialize Test Suite Dataset Source: https://github.com/honeycombio/terraform-provider-honeycombio/blob/main/CONTRIBUTING.md This script creates the necessary dataset and columns for running integration tests against the Honeycomb API. Requires Bash 4+. ```sh HONEYCOMB_API_KEY= HONEYCOMB_DATASET= ./scripts/setup-testsuite-dataset ``` -------------------------------- ### Get all recipients Source: https://github.com/honeycombio/terraform-provider-honeycombio/blob/main/docs/data-sources/recipients.md Use this data source to fetch all available recipient IDs without any filtering. ```terraform data "honeycombio_recipients" "all" {} ``` -------------------------------- ### Importing Flexible Boards Source: https://github.com/honeycombio/terraform-provider-honeycombio/blob/main/docs/resources/flexible_board.md Instructions on how to import an existing Honeycomb flexible board using its ID with the Terraform provider. ```APIDOC ## Import Boards can be imported using their ID, e.g. ```shell terraform import honeycombio_flexible_board.my_board AobW9oAZX71 ``` You can find the ID in the URL bar when visiting the board from the UI. ``` -------------------------------- ### Create a Slack Recipient Source: https://github.com/honeycombio/terraform-provider-honeycombio/blob/main/docs/resources/slack_recipient.md Define a new Slack recipient for notifications. The channel must start with '#' or '@', or be a valid channel ID. ```terraform resource "honeycombio_slack_recipient" "alerts" { channel = "#alerts" } ``` -------------------------------- ### Retrieve Derived Columns by Prefix Source: https://github.com/honeycombio/terraform-provider-honeycombio/blob/main/docs/data-sources/derived_columns.md Filter derived columns to only include those starting with a specific prefix. The `starts_with` argument is used for this filtering. ```terraform # only returns the derived columns starting with 'foo_' data "honeycombio_derived_columns" "foo" { dataset = var.dataset starts_with = "foo_" } ``` -------------------------------- ### Run Full Test Suite Source: https://github.com/honeycombio/terraform-provider-honeycombio/blob/main/CONTRIBUTING.md Execute the complete test suite for the provider. Environment variables can be set in a local .env file or directly in the command. ```sh HONEYCOMB_API_KEY= HONEYCOMB_KEY_ID= HONEYCOMB_KEY_SECRET= HONEYCOMB_DATASET= make testacc ``` -------------------------------- ### Burn Alert with PagerDuty Recipient and Severity Source: https://github.com/honeycombio/terraform-provider-honeycombio/blob/main/docs/resources/burn_alert.md This example shows how to configure an 'exhaustion_time' burn alert with a PagerDuty recipient and specify the notification severity. ```APIDOC ## Resource: honeycombio_burn_alert Creates a burn alert. ### Example Usage - Exhaustion Time Burn Alert with PagerDuty Recipient and Severity ```terraform data "honeycombio_recipient" "pd_prod" { type = "pagerduty" detail_filter { name = "integration_name" value = "Prod On-Call" } } resource "honeycombio_burn_alert" "example_alert" { exhaustion_minutes = 60 description = "Burn alert description" dataset = var.dataset slo_id = var.slo_id recipient { id = data.honeycombio_recipient.pd_prod.id notification_details { pagerduty_severity = "critical" } } } ``` ### Arguments Reference * `alert_type` - (Required) The type of burn alert. Possible values are `exhaustion_time` or `budget_rate`. * `exhaustion_minutes` - (Optional) The number of minutes before the SLO budget is exhausted. Required if `alert_type` is `exhaustion_time`. * `budget_rate_window_minutes` - (Optional) The window in minutes for calculating the budget burn rate. Required if `alert_type` is `budget_rate`. * `budget_rate_decrease_percent` - (Optional) The percentage decrease in budget burn rate that triggers the alert. Required if `alert_type` is `budget_rate`. * `description` - (Required) A description for the burn alert. * `dataset` - (Required) The name of the dataset the SLO belongs to. * `slo_id` - (Required) The ID of the Service Level Objective. * `recipient` - (Required) A block defining the alert recipient. Can be specified multiple times. * `type` - (Required) The type of recipient. Possible values are `email`, `slack`, `pagerduty`, or `webhook`. * `target` - (Required) The target identifier for the recipient (e.g., email address, channel name, webhook name). * `id` - (Optional) The ID of an existing recipient. Use this if you have pre-configured recipients. * `notification_details` - (Optional) A block for additional notification details. * `pagerduty_severity` - (Optional) The severity level for PagerDuty notifications. Possible values are `critical`, `warning`, `info`. * `variable` - (Optional) A block for custom notification variables. * `name` - (Required) The name of the variable. * `value` - (Required) The value of the variable. ``` -------------------------------- ### Generate Provider Documentation Source: https://github.com/honeycombio/terraform-provider-honeycombio/blob/main/CONTRIBUTING.md Run this command to regenerate the provider's documentation after making changes. This is also used in CI to verify documentation. ```sh make docs ``` ```sh make docs-check ``` -------------------------------- ### Import Honeycomb Environment - Terraform Source: https://github.com/honeycombio/terraform-provider-honeycombio/blob/main/docs/resources/environment.md Import an existing Honeycomb Environment into Terraform management using its ID. ```bash $ terraform import honeycombio_environment.myenv hcaen_01j1jrsewaha3m0z6fwffpcrxg ``` -------------------------------- ### Burn Alert with Webhook Recipient and Notification Variable Source: https://github.com/honeycombio/terraform-provider-honeycombio/blob/main/docs/resources/burn_alert.md This example demonstrates configuring a burn alert with a webhook recipient and setting a custom notification variable. ```APIDOC ## Resource: honeycombio_burn_alert Creates a burn alert. ### Example Usage - Exhaustion Time Burn Alert with Webhook Recipient and Notification Variable ```terraform data "honeycombio_recipient" "custom_webhook" { type = "webhook" detail_filter { name = "name" value = "My Custom Webhook" } } resource "honeycombio_burn_alert" "example_alert" { exhaustion_minutes = 60 description = "Burn alert description" dataset = var.dataset slo_id = var.slo_id recipient { id = data.honeycombio_recipient.custom_webhook.id notification_details { variable { name = "severity" value = "info" } } } } ``` ### Arguments Reference * `alert_type` - (Required) The type of burn alert. Possible values are `exhaustion_time` or `budget_rate`. * `exhaustion_minutes` - (Optional) The number of minutes before the SLO budget is exhausted. Required if `alert_type` is `exhaustion_time`. * `budget_rate_window_minutes` - (Optional) The window in minutes for calculating the budget burn rate. Required if `alert_type` is `budget_rate`. * `budget_rate_decrease_percent` - (Optional) The percentage decrease in budget burn rate that triggers the alert. Required if `alert_type` is `budget_rate`. * `description` - (Required) A description for the burn alert. * `dataset` - (Required) The name of the dataset the SLO belongs to. * `slo_id` - (Required) The ID of the Service Level Objective. * `recipient` - (Required) A block defining the alert recipient. Can be specified multiple times. * `type` - (Required) The type of recipient. Possible values are `email`, `slack`, `pagerduty`, or `webhook`. * `target` - (Required) The target identifier for the recipient (e.g., email address, channel name, webhook name). * `id` - (Optional) The ID of an existing recipient. Use this if you have pre-configured recipients. * `notification_details` - (Optional) A block for additional notification details. * `pagerduty_severity` - (Optional) The severity level for PagerDuty notifications. Possible values are `critical`, `warning`, `info`. * `variable` - (Optional) A block for custom notification variables. * `name` - (Required) The name of the variable. * `value` - (Required) The value of the variable. ``` -------------------------------- ### Import a Honeycomb Column Source: https://github.com/honeycombio/terraform-provider-honeycombio/blob/main/docs/resources/column.md Demonstrates how to import an existing Honeycomb column into Terraform state. The import command requires the dataset name and the column name, separated by a forward slash. ```bash $ terraform import honeycombio_column.my_column my-dataset/duration_ms ``` -------------------------------- ### Create Honeycomb Marker Setting Source: https://github.com/honeycombio/terraform-provider-honeycombio/blob/main/docs/resources/marker_setting.md Defines a 'deploy' type marker setting with a specific color and associates it with a dataset. Ensure the `dataset` variable is defined. ```terraform variable "dataset" { type = string } resource "honeycombio_marker_setting" "deploy_marker" { type = "deploy" color = "#DF4661" dataset = var.dataset } ``` -------------------------------- ### Filter Datasets by Name Prefix Source: https://github.com/honeycombio/terraform-provider-honeycombio/blob/main/docs/data-sources/datasets.md This configuration retrieves datasets whose names start with a specified prefix. It utilizes the `detail_filter` block with a `value_regex` for pattern matching. ```terraform # only returns the datasets with names starting with 'foo_' data "honeycombio_datasets" "foo" { detail_filter { name = "name" value_regex = "foo_*" } } ``` -------------------------------- ### Create Honeycomb Environment - Terraform Source: https://github.com/honeycombio/terraform-provider-honeycombio/blob/main/docs/resources/environment.md Use this resource to create a new Honeycomb Environment. Requires a Management Key with `environments:write` scope. ```terraform resource "honeycombio_environment" "uat" { name = "UAT-1" color = "green" } ``` -------------------------------- ### Configure Honeycomb Terraform Provider Source: https://github.com/honeycombio/terraform-provider-honeycombio/blob/main/docs/index.md This snippet shows the basic configuration for the Honeycomb provider in Terraform, including specifying the source and version. It also demonstrates how to set up the provider with an API key (via environment variables) and an empty features block. ```hcl terraform { required_providers { honeycombio = { source = "honeycombio/honeycombio" version = ">= 0.51.0, < 1.0.0" } } } # Configure the Honeycomb provider provider "honeycombio" { # You can set the API key with the environment variable HONEYCOMB_API_KEY, # or the HONEYCOMB_KEY_ID+HONEYCOMB_KEY_SECRET environment variable pair # The features block allows customization of the behavior of the Honeycomb Provider. # More information can be found below. features {} } variable "dataset" { type = string } # Create a marker resource "honeycombio_marker" "hello" { message = "Hello world!" dataset = var.dataset } ``` -------------------------------- ### Import Environment-Wide Trigger Source: https://github.com/honeycombio/terraform-provider-honeycombio/blob/main/docs/resources/trigger.md Use this command to import a trigger that applies to your entire environment. The ID is found in the trigger's URL in the Honeycomb UI. ```bash $ terraform import honeycombio_trigger.my_trigger bj9BwOb1uJz ``` -------------------------------- ### Retrieve a Single Derived Column Source: https://github.com/honeycombio/terraform-provider-honeycombio/blob/main/docs/data-sources/derived_column.md Use this data source to get the details of a specific derived column. Ensure your search is precise to avoid Terraform failures. The `dataset` argument is optional; if omitted, an environment-wide lookup is performed. ```terraform variable "dataset" { type = string } # Retrieve the details of a single derived column data "honeycombio_derived_column" "mydc" { dataset = var.dataset alias = "mydc" } ``` -------------------------------- ### Import Honeycomb Flexible Board Source: https://github.com/honeycombio/terraform-provider-honeycombio/blob/main/docs/resources/flexible_board.md Use this command to import an existing Honeycomb flexible board into your Terraform state. The board ID can be found in the board's URL. ```shell terraform import honeycombio_flexible_board.my_board AobW9oAZX71 ``` -------------------------------- ### Data Source: honeycombio_environment Source: https://github.com/honeycombio/terraform-provider-honeycombio/blob/main/docs/data-sources/environment.md The `honeycombio_environment` data source retrieves the details of a single Environment. It requires a Management Key with `environments:read` scope. A warning is issued if the search criteria do not return exactly one environment. ```APIDOC ## Data Source: honeycombio_environment The `honeycombio_environment` data source retrieves the details of a single Environment. ~> **Warning** Terraform will fail unless exactly one environment is returned by the search. Ensure that your search is specific enough to return a single environment only. If you want to retrieve multiple environments, use the `honeycombio_environments` data source instead. -> This data source requires the provider be configured with a Management Key with `environments:read` in the configured scopes. ### Example Usage ```terraform # Retrieve the details of an Environment data "honeycombio_environment" "prod" { id = "hcaen_01j1d7t02zf7wgw7q89z3t60vf" } ``` ### Filter Example ```terraform data "honeycombio_environment" "classic" { detail_filter { name = "name" value = "Classic" } } data "honeycombio_environment" "prod" { detail_filter { name = "name" value = "prod" } } ``` ## Schema ### Optional - `detail_filter` (Block List) Attributes to filter the results with. Multiple `detail_filter` blocks can be provided, and all conditions must be satisfied (AND logic). (see [below for nested schema](#nestedblock--detail_filter)) - `id` (String) The ID of the Environment to fetch. ### Read-Only - `color` (String) The color of the Environment. - `delete_protected` (Boolean) The current delete protection status of the Environment. - `description` (String) The Environment's description. - `name` (String) The name of the Environment. - `slug` (String) The slug of the Environment. ### Nested Schema for `detail_filter` Required: - `name` (String) The name of the detail field to filter by. This must match a schema attribute of the resource (e.g., `name`, `description`, `id`). Optional: - `operator` (String) The comparison operator to use for filtering. Defaults to `equals`. Valid operators include: * `equals`, `=`, `eq` - Exact match comparison * `not-equals`, `!=`, `ne` - Inverse exact match comparison * `contains`, `in` - Substring inclusion check * `does-not-contain`, `not-in` - Inverse substring inclusion check * `starts-with` - Prefix matching * `does-not-start-with` - Inverse prefix matching * `ends-with` - Suffix matching * `does-not-end-with` - Inverse suffix matching * `>`, `gt` - Numeric greater than comparison * `>=`, `ge` - Numeric greater than or equal comparison * `<`, `lt` - Numeric less than comparison * `<=`, `le` - Numeric less than or equal comparison * `does-not-exist` - Field absence check - `value` (String) The value of the detail field to match on. Required unless `value_regex` is set or `operator` is `does-not-exist`. - `value_regex` (String) A regular expression string to apply to the value of the detail field to match on. Required unless `value` is set or `operator` is `does-not-exist`. ``` -------------------------------- ### Get email recipients by domain Source: https://github.com/honeycombio/terraform-provider-honeycombio/blob/main/docs/data-sources/recipients.md Filter email recipients to find those matching a specific domain using a regular expression. Ensure the `type` is set to "email" and provide a `detail_filter` with the `name` as "address" and `value_regex` for the domain. ```terraform data "honeycombio_recipients" "example-dot-com" { type = "email" detail_filter { name = "address" value_regex = ".*@example.com" } } ``` -------------------------------- ### Import a Honeycomb Query Annotation Source: https://github.com/honeycombio/terraform-provider-honeycombio/blob/main/docs/resources/query_annotation.md Import an existing query annotation into Terraform management. The format is `dataset_name/annotation_id`. ```bash terraform import honeycombio_query_annotation.my_query_annotation my-dataset/JL0Xp8SH0Dg ``` -------------------------------- ### Retrieve All Environments Source: https://github.com/honeycombio/terraform-provider-honeycombio/blob/main/docs/data-sources/environments.md Use this snippet to fetch all available environments within your Honeycomb team. Ensure the provider is configured with a Management Key that has `environments:read` permissions. ```terraform # returns all Environments data "honeycombio_environments" "all" {} ``` -------------------------------- ### Import Single-Dataset Burn Alert Source: https://github.com/honeycombio/terraform-provider-honeycombio/blob/main/docs/resources/burn_alert.md Use this command to import a single-dataset burn alert. You need to provide both the dataset name and the burn alert ID. ```bash $ terraform import honeycombio_burn_alert.my_alert my-dataset/bj9BwOb1uKz ``` -------------------------------- ### Import an Existing Honeycomb Dataset Source: https://github.com/honeycombio/terraform-provider-honeycombio/blob/main/docs/resources/dataset.md Import an existing dataset into Terraform management using its slug. This is useful for taking over management of pre-existing datasets. ```shell $ terraform import honeycombio_dataset.my_dataset my-dataset ``` -------------------------------- ### Retrieve Dataset Details Source: https://github.com/honeycombio/terraform-provider-honeycombio/blob/main/docs/data-sources/dataset.md Use this data source to fetch the details of a specific Dataset by its slug. Ensure the dataset exists in your Honeycomb environment. ```terraform data "honeycombio_dataset" "my-service" { slug = "my-service" } ``` -------------------------------- ### Import Multi-Dataset Burn Alert Source: https://github.com/honeycombio/terraform-provider-honeycombio/blob/main/docs/resources/burn_alert.md Use this command to import a multi-dataset (MD) burn alert. Only the burn alert ID is required as the dataset is not applicable. ```bash $ terraform import honeycombio_burn_alert.my_alert bc9XwOb2yJu ``` -------------------------------- ### Text Panel Configuration Source: https://github.com/honeycombio/terraform-provider-honeycombio/blob/main/docs/resources/flexible_board.md Defines a panel that displays static text content, supporting Markdown formatting. ```APIDOC ## Nested Schema for `panel.text_panel` ### Description Defines a panel that displays static text content, supporting Markdown formatting. ### Parameters #### Request Body - **content** (String) - Required - The content of the text panel. Supports Markdown. ``` -------------------------------- ### Import Single-Dataset Trigger Source: https://github.com/honeycombio/terraform-provider-honeycombio/blob/main/docs/resources/trigger.md Use this command to import a trigger associated with a specific dataset. The ID can be found in the trigger's URL in the Honeycomb UI. ```bash $ terraform import honeycombio_trigger.my_trigger my-dataset/bj9BwOb1uKz ``` -------------------------------- ### Retrieve All Datasets Source: https://github.com/honeycombio/terraform-provider-honeycombio/blob/main/docs/data-sources/datasets.md Use this block to fetch all available datasets within an environment. No specific filters are applied. ```terraform # returns all datasets data "honeycombio_datasets" "all" {} ``` -------------------------------- ### Query Panel Configuration Source: https://github.com/honeycombio/terraform-provider-honeycombio/blob/main/docs/resources/flexible_board.md Defines a panel that displays results from a Honeycomb query. Includes options for query ID, style, and detailed visualization settings. ```APIDOC ## Nested Schema for `panel.query_panel` ### Description Defines a panel that displays results from a Honeycomb query. ### Parameters #### Request Body - **query_annotation_id** (String) - Required - Query annotation ID. - **query_id** (String) - Required - Query ID to be rendered in the panel. - **query_style** (String) - Optional - The visual style of the query (e.g., 'graph', 'combo'). - **visualization_settings** (Block List) - Optional - Configuration for how the query results are visualized. See [visualization_settings](#nestedblock--panel--query_panel--visualization_settings) for details. ## Nested Schema for `panel.query_panel.visualization_settings` ### Description Configuration for how the query results are visualized. ### Parameters #### Request Body - **chart** (Block List) - Optional - Specific chart configurations. See [chart](#nestedblock--panel--query_panel--visualization_settings--chart) for details. - **hide_compare** (Boolean) - Optional - Hide comparison values. - **hide_hovers** (Boolean) - Optional - Disable Graph tooltips in the results display when hovering over a graph. - **hide_markers** (Boolean) - Optional - Hide markers from appearing on graph. - **prefer_overlaid_charts** (Boolean) - Optional - Combine any visualized AVG, MIN, MAX, and PERCENTILE clauses into a single chart. - **use_utc_xaxis** (Boolean) - Optional - Display UTC Time X-Axis or Localtime X-Axis. ## Nested Schema for `panel.query_panel.visualization_settings.chart` ### Description Specific chart configurations for a query panel. ### Parameters #### Request Body - **chart_index** (Number) - Optional - Index of the chart this configuration controls. - **chart_type** (String) - Optional - Type of chart (e.g., 'line', 'bar'). Accepts: `line`, `tsbar`, `stacked`, `stat`, `cpie`, `cbar`, `default`. - **omit_missing_values** (Boolean) - Optional - Omit missing values from the visualization. - **use_log_scale** (Boolean) - Optional - Use logarithmic scale on Y axis. ```