### Example Usage of grafana_k6_installation Source: https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/k6_installation This example demonstrates the full setup process for installing the k6 App on Grafana Cloud using Terraform. It includes creating a Grafana Cloud stack, a service account, a service account token, and finally installing the k6 App. ```Terraform variable "cloud_access_policy_token" { description = "Cloud Access Policy token for Grafana Cloud with the following scopes: stacks:read|write|delete, stack-service-accounts:write" } variable "stack_slug" {} variable "cloud_region" { default = "us" } // Step 1: Create a stack in Grafana Cloud provider "grafana" { alias = "cloud" cloud_access_policy_token = var.cloud_access_policy_token } resource "grafana_cloud_stack" "k6_stack" { provider = grafana.cloud name = var.stack_slug slug = var.stack_slug region_slug = var.cloud_region } // Step 2: Create a Service Account and a token to install the k6 App resource "grafana_cloud_stack_service_account" "k6_sa" { provider = grafana.cloud stack_slug = var.stack_slug name = "${var.stack_slug}-k6-app" role = "Admin" is_disabled = false } resource "grafana_cloud_stack_service_account_token" "k6_sa_token" { provider = grafana.cloud stack_slug = var.stack_slug name = "${var.stack_slug}-k6-app-token" service_account_id = grafana_cloud_stack_service_account.k6_sa.id } // Step 3: Install the k6 App on the stack resource "grafana_k6_installation" "k6_installation" { provider = grafana.cloud cloud_access_policy_token = var.cloud_access_policy_token stack_id = grafana_cloud_stack.k6_stack.id grafana_sa_token = grafana_cloud_stack_service_account_token.k6_sa_token.key grafana_user = "admin" } // Step 4: Interact with the k6 App: create a new project provider "grafana" { alias = "k6" stack_id = grafana_cloud_stack.k6_stack.id k6_access_token = grafana_k6_installation.k6_installation.k6_access_token } resource "grafana_k6_project" "my_k6_project" { provider = grafana.k6 name = "k6 Project created with TF" } ``` -------------------------------- ### Example Usage of grafana_synthetic_monitoring_installation Source: https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/synthetic_monitoring_installation This example demonstrates how to set up Synthetic Monitoring on a Grafana Cloud stack. It includes creating a stack, configuring access policies and tokens, and finally installing Synthetic Monitoring. ```Terraform variable "cloud_access_policy_token" { description = "Cloud Access Policy token for Grafana Cloud with the following scopes: accesspolicies:read|write|delete, stacks:read|write|delete" } variable "stack_slug" {} variable "cloud_region" { default = "prod-us-east-0" } // Step 1: Create a stack provider "grafana" { alias = "cloud" cloud_access_policy_token = var.cloud_access_policy_token } resource "grafana_cloud_stack" "sm_stack" { provider = grafana.cloud name = var.stack_slug slug = var.stack_slug region_slug = var.cloud_region } // Step 2: Install Synthetic Monitoring on the stack resource "grafana_cloud_access_policy" "sm_metrics_publish" { provider = grafana.cloud region = var.cloud_region name = "metric-publisher-for-sm" scopes = ["metrics:write", "stacks:read", "logs:write", "traces:write"] realm { type = "stack" identifier = grafana_cloud_stack.sm_stack.id } } resource "grafana_cloud_access_policy_token" "sm_metrics_publish" { provider = grafana.cloud region = var.cloud_region access_policy_id = grafana_cloud_access_policy.sm_metrics_publish.policy_id name = "metric-publisher-for-sm" } resource "grafana_synthetic_monitoring_installation" "sm_stack" { provider = grafana.cloud stack_id = grafana_cloud_stack.sm_stack.id metrics_publisher_key = grafana_cloud_access_policy_token.sm_metrics_publish.token } // Step 3: Interact with Synthetic Monitoring provider "grafana" { alias = "sm" sm_access_token = grafana_synthetic_monitoring_installation.sm_stack.sm_access_token sm_url = grafana_synthetic_monitoring_installation.sm_stack.stack_sm_api_url } data "grafana_synthetic_monitoring_probes" "main" { provider = grafana.sm depends_on = [grafana_synthetic_monitoring_installation.sm_stack] } ``` -------------------------------- ### Example Usage of grafana_k6_schedule Source: https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/k6_schedule Demonstrates how to create k6 schedules using cron expressions and recurrence rules. Includes examples for monthly cron, daily, weekly, yearly, and one-time schedules. ```terraform resource "grafana_k6_project" "schedule_project" { name = "Terraform Schedule Resource Project" } resource "grafana_k6_load_test" "scheduled_test" { project_id = grafana_k6_project.schedule_project.id name = "Terraform Scheduled Resource Test" script = <<-EOT export default function() { console.log('Hello from scheduled k6 test!'); } EOT depends_on = [ grafana_k6_project.schedule_project, ] } resource "grafana_k6_schedule" "cron_monthly" { load_test_id = grafana_k6_load_test.scheduled_test.id starts = "2024-12-25T10:00:00Z" cron { schedule = "0 10 1 * *" timezone = "UTC" } } resource "grafana_k6_schedule" "daily" { load_test_id = grafana_k6_load_test.scheduled_test.id starts = "2024-12-25T10:00:00Z" recurrence_rule { frequency = "DAILY" interval = 1 } } resource "grafana_k6_schedule" "weekly" { load_test_id = grafana_k6_load_test.scheduled_test.id starts = "2024-12-25T09:00:00Z" recurrence_rule { frequency = "WEEKLY" interval = 1 byday = ["MO", "WE", "FR"] } } # Example with YEARLY frequency and count resource "grafana_k6_schedule" "yearly" { load_test_id = grafana_k6_load_test.scheduled_test.id starts = "2024-01-01T12:00:00Z" recurrence_rule { frequency = "YEARLY" # Valid enum value interval = 1 count = 5 # Run 5 times total } } # One-time schedule without recurrence resource "grafana_k6_schedule" "one_time" { load_test_id = grafana_k6_load_test.scheduled_test.id starts = "2024-12-25T15:00:00Z" # No recurrence_rule means it runs only once } ``` -------------------------------- ### grafana_k6_schedule Data Source Example Source: https://registry.terraform.io/providers/grafana/grafana/latest/docs/data-sources/k6_schedule This example demonstrates how to use the grafana_k6_schedule data source to retrieve information about a k6 schedule. It first creates a k6 project and a load test, then defines a schedule for that load test, and finally uses the data source to fetch the details of the created schedule. ```terraform resource "grafana_k6_project" "schedule_project" { name = "Terraform Schedule Test Project" } resource "grafana_k6_load_test" "schedule_load_test" { project_id = grafana_k6_project.schedule_project.id name = "Terraform Test Load Test for Schedule" script = <<-EOT export default function() { console.log('Hello from k6 schedule test!'); } EOT depends_on = [ grafana_k6_project.schedule_project, ] } resource "grafana_k6_schedule" "test_schedule" { load_test_id = grafana_k6_load_test.schedule_load_test.id starts = "2024-12-25T10:00:00Z" recurrence_rule { frequency = "MONTHLY" interval = 12 count = 100 } depends_on = [ grafana_k6_load_test.schedule_load_test, ] } data "grafana_k6_schedule" "from_load_test" { load_test_id = grafana_k6_load_test.schedule_load_test.id depends_on = [ grafana_k6_schedule.test_schedule, ] } output "complete_schedule_info" { description = "Complete schedule information" value = { id = data.grafana_k6_schedule.from_load_test.id load_test_id = data.grafana_k6_schedule.from_load_test.load_test_id starts = data.grafana_k6_schedule.from_load_test.starts deactivated = data.grafana_k6_schedule.from_load_test.deactivated next_run = data.grafana_k6_schedule.from_load_test.next_run created_by = data.grafana_k6_schedule.from_load_test.created_by recurrence_rule = data.grafana_k6_schedule.from_load_test.recurrence_rule cron = data.grafana_k6_schedule.from_load_test.cron } } ``` -------------------------------- ### grafana_k6_projects Data Source Example Source: https://registry.terraform.io/providers/grafana/grafana/latest/docs/data-sources/k6_projects Example usage of the grafana_k6_projects data source to retrieve k6 projects by name. It depends on a grafana_k6_project resource. ```terraform resource "grafana_k6_project" "project" { name = "Terraform Test Project" } data "grafana_k6_projects" "from_name" { name = "Terraform Test Project" depends_on = [ grafana_k6_project.project, ] } ``` -------------------------------- ### Example Usage of grafana_k6_project_allowed_load_zones Source: https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/k6_project_allowed_load_zones Demonstrates how to create a k6 project and then configure its allowed private load zones. The project_id is linked to the created project. ```terraform resource "grafana_k6_project" "test_project_allowed_load_zones" { name = "Terraform Project Test Allowed Load Zones" } resource "grafana_k6_project_allowed_load_zones" "test_allowed_zones" { project_id = grafana_k6_project.test_project_allowed_load_zones.id allowed_load_zones = ["my-load-zone-1", "other-load-zone"] } ``` -------------------------------- ### grafana_k6_installation Resource Source: https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/k6_installation The grafana_k6_installation resource installs the k6 App on a Grafana Cloud instance. It requires Grafana Cloud credentials and stack information. ```APIDOC ## grafana_k6_installation (Resource) Sets up the k6 App on a Grafana Cloud instance and generates a token. Once a Grafana Cloud stack is created, a user can either use this resource or go into the UI to install k6. This resource cannot be imported but it can be used on an existing k6 App installation without issues. **Note that this resource must be used on a provider configured with Grafana Cloud credentials.** ### Schema #### Required * `cloud_access_policy_token` (String, Sensitive) The Grafana Cloud access policy. * `grafana_sa_token` (String, Sensitive) The service account token. * `grafana_user` (String) The user to use for the installation. * `stack_id` (String) The identifier of the stack to install k6 on. ### Optional * `k6_api_url` (String) The Grafana Cloud k6 API url. ### Read-Only * `id` (String) The ID of this resource. * `k6_access_token` (String, Sensitive) Generated token to access the k6 API. * `k6_organization` (String) The identifier of the k6 organization. ``` -------------------------------- ### Example Usage of grafana_k6_load_test Source: https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/k6_load_test Demonstrates how to define a k6 project and a load test within that project using Terraform. The script content is provided inline. ```terraform resource "grafana_k6_project" "load_test_project" { name = "Terraform Load Test Project" } resource "grafana_k6_load_test" "test_load_test" { project_id = grafana_k6_project.load_test_project.id name = "Terraform Test Load Test" script = <<-EOT export default function() { console.log('Hello from k6!'); } EOT } ``` -------------------------------- ### grafana_k6_project_limits Data Source Example Source: https://registry.terraform.io/providers/grafana/grafana/latest/docs/data-sources/k6_project_limits Example of how to define a k6 project and then retrieve its limits using the grafana_k6_project_limits data source. This is useful for managing and monitoring k6 test configurations within Terraform. ```terraform resource "grafana_k6_project" "test_project_limits" { name = "Terraform Project Test Limits" } resource "grafana_k6_project_limits" "test_limits" { project_id = grafana_k6_project.test_project_limits.id vuh_max_per_month = 10000 vu_max_per_test = 10000 vu_browser_max_per_test = 1000 duration_max_per_test = 3600 } data "grafana_k6_project_limits" "from_project_id" { project_id = grafana_k6_project.test_project_limits.id } ``` -------------------------------- ### Example Usage of grafana_k6_project Data Source Source: https://registry.terraform.io/providers/grafana/grafana/latest/docs/data-sources/k6_project This snippet demonstrates how to create a k6 project using the grafana_k6_project resource and then retrieve its details using the grafana_k6_project data source. ```terraform resource "grafana_k6_project" "test" { name = "Terraform Test Project" } data "grafana_k6_project" "from_id" { depends_on = [ grafana_k6_project.test ] id = grafana_k6_project.test.id } ``` -------------------------------- ### Example Usage of grafana_k6_project_limits Source: https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/k6_project_limits Demonstrates how to define a k6 project and then configure its limits using the grafana provider. This includes setting maximum VUH per month, VUs per test, browser VUs per test, and test duration. ```terraform resource "grafana_k6_project" "test_project_limits" { name = "Terraform Project Test Limits" } resource "grafana_k6_project_limits" "test_limits" { project_id = grafana_k6_project.test_project_limits.id vuh_max_per_month = 1000 vu_max_per_test = 100 vu_browser_max_per_test = 10 duration_max_per_test = 3600 } ``` -------------------------------- ### HTTP Basic Check Source: https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/synthetic_monitoring_check This example demonstrates a basic HTTP synthetic monitoring check configuration. It specifies the job, target URL, probe location, and enables basic HTTP settings. ```APIDOC ## HTTP Basic Check ### Description This example demonstrates a basic HTTP synthetic monitoring check configuration. It specifies the job, target URL, probe location, and enables basic HTTP settings. ### Method Not applicable (Terraform resource configuration) ### Endpoint Not applicable (Terraform resource configuration) ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None (Terraform resource configuration) ### Request Example ```terraform data "grafana_synthetic_monitoring_probes" "main" {} resource "grafana_synthetic_monitoring_check" "http" { job = "HTTP Defaults" target = "https://grafana.com" enabled = false probes = [ data.grafana_synthetic_monitoring_probes.main.probes.Ohio, ] labels = { foo = "bar" } settings { http {} } } ``` ### Response #### Success Response (200) Not applicable (Terraform resource configuration) #### Response Example Not applicable (Terraform resource configuration) ``` -------------------------------- ### Example Usage of grafana_k6_project_allowed_load_zones Source: https://registry.terraform.io/providers/grafana/grafana/latest/docs/data-sources/k6_project_allowed_load_zones Demonstrates how to use the grafana_k6_project_allowed_load_zones data source to retrieve allowed load zones for a k6 project. It first creates a project and then uses its ID to query the allowed load zones. ```Terraform resource "grafana_k6_project" "test_project_allowed_load_zones" { name = "Terraform Project Test Allowed Load Zones" } data "grafana_k6_project_allowed_load_zones" "from_project_id" { project_id = grafana_k6_project.test_project_allowed_load_zones.id } ``` -------------------------------- ### Example Usage of grafana_synthetic_monitoring_check_alerts Source: https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/synthetic_monitoring_check_alerts Defines a synthetic monitoring check and then configures alerts for that check. Ensure the check is defined before managing its alerts. ```terraform resource "grafana_synthetic_monitoring_check" "main" { job = "Check Alert Test" target = "https://grafana.com" enabled = true probes = [1] labels = {} settings { http { ip_version = "V4" method = "GET" } } } resource "grafana_synthetic_monitoring_check_alerts" "main" { check_id = grafana_synthetic_monitoring_check.main.id alerts = [{ name = "ProbeFailedExecutionsTooHigh" threshold = 1 period = "15m" runbook_url = "" }, { name = "TLSTargetCertificateCloseToExpiring" threshold = 14 period = "" runbook_url = "" }, { name = "HTTPRequestDurationTooHighAvg" threshold = 5000 period = "10m" runbook_url = "https://wiki.company.com/runbooks/http-duration" }] } ``` -------------------------------- ### Example Usage of grafana_synthetic_monitoring_probe Source: https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/synthetic_monitoring_probe This snippet demonstrates how to define a private synthetic monitoring probe with a name, geographical coordinates, region, and custom labels. ```terraform resource "grafana_synthetic_monitoring_probe" "main" { name = "Mount Everest" latitude = 27.98606 longitude = 86.92262 region = "APAC" labels = { type = "mountain" } } ``` -------------------------------- ### Example Usage of grafana_synthetic_monitoring_probes Source: https://registry.terraform.io/providers/grafana/grafana/latest/docs/data-sources/synthetic_monitoring_probes This snippet demonstrates how to use the grafana_synthetic_monitoring_probes data source to retrieve probe information. It requires no specific configuration beyond the data source block itself. ```Terraform data "grafana_synthetic_monitoring_probes" "main" {} ``` -------------------------------- ### Example Usage of grafana_k6_schedules Data Source Source: https://registry.terraform.io/providers/grafana/grafana/latest/docs/data-sources/k6_schedules This snippet shows how to configure a k6 project, load tests, and schedules with various recurrence options. It then uses the grafana_k6_schedules data source to retrieve the configured schedules. ```terraform resource "grafana_k6_project" "schedules_project" { name = "Terraform Schedules Test Project" } resource "grafana_k6_load_test" "schedules_load_test" { project_id = grafana_k6_project.schedules_project.id name = "Terraform Test Load Test for Schedules" script = <<-EOT export default function() { console.log('Hello from k6 schedules test!'); } EOT depends_on = [ grafana_k6_project.schedules_project, ] } resource "grafana_k6_load_test" "schedules_load_test_2" { project_id = grafana_k6_project.schedules_project.id name = "Terraform Test Load Test for Schedules (2)" script = <<-EOT export default function() { console.log('Hello from k6 schedules test!'); } EOT depends_on = [ grafana_k6_project.schedules_project, ] } resource "grafana_k6_load_test" "schedules_load_test_3" { project_id = grafana_k6_project.schedules_project.id name = "Terraform Test Load Test for Schedules (3)" script = <<-EOT export default function() { console.log('Hello from k6 schedules test!'); } EOT depends_on = [ grafana_k6_project.schedules_project, ] } resource "grafana_k6_schedule" "test_schedule_1" { load_test_id = grafana_k6_load_test.schedules_load_test.id starts = "2029-12-25T10:00:00Z" recurrence_rule { frequency = "MONTHLY" interval = 15 count = 100 } depends_on = [ grafana_k6_load_test.schedules_load_test, ] } resource "grafana_k6_schedule" "test_schedule_2" { load_test_id = grafana_k6_load_test.schedules_load_test_2.id starts = "2023-12-26T14:00:00Z" recurrence_rule { frequency = "WEEKLY" interval = 2 until = "2047-01-31T23:59:59Z" } depends_on = [ grafana_k6_load_test.schedules_load_test_2, ] } resource "grafana_k6_schedule" "test_schedule_3" { load_test_id = grafana_k6_load_test.schedules_load_test_3.id starts = "2023-12-26T14:00:00Z" cron { schedule = "0 10 1 12 6" timezone = "UTC" } depends_on = [ grafana_k6_load_test.schedules_load_test_3, ] } data "grafana_k6_schedules" "from_load_test_id" { depends_on = [ grafana_k6_schedule.test_schedule_1, grafana_k6_schedule.test_schedule_2, grafana_k6_schedule.test_schedule_3, ] } ``` -------------------------------- ### Importing a grafana_synthetic_monitoring_probe Source: https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/synthetic_monitoring_probe These examples show how to import an existing synthetic monitoring probe into Terraform state, using either just the probe ID or the ID and authentication token. ```terraform terraform import grafana_synthetic_monitoring_probe.name "{{ id }}" ``` ```terraform terraform import grafana_synthetic_monitoring_probe.name "{{ id }}:{{ authToken }}" ``` -------------------------------- ### Ping Basic Check Source: https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/synthetic_monitoring_check This example illustrates a basic Ping synthetic monitoring check. It configures the job, target host, and probe location for simple network reachability testing. ```APIDOC ## Ping Basic Check ### Description This example illustrates a basic Ping synthetic monitoring check. It configures the job, target host, and probe location for simple network reachability testing. ### Method Not applicable (Terraform resource configuration) ### Endpoint Not applicable (Terraform resource configuration) ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None (Terraform resource configuration) ### Request Example ```terraform data "grafana_synthetic_monitoring_probes" "main" {} resource "grafana_synthetic_monitoring_check" "ping" { job = "Ping Defaults" target = "grafana.com" enabled = false probes = [ data.grafana_synthetic_monitoring_probes.main.probes.Ohio, ] labels = { foo = "bar" } settings { ping {} } } ``` ### Response #### Success Response (200) Not applicable (Terraform resource configuration) #### Response Example Not applicable (Terraform resource configuration) ``` -------------------------------- ### Ping Complex Check Source: https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/synthetic_monitoring_check This example demonstrates an advanced Ping synthetic monitoring check, including configurations for IP version, payload size, and fragmentation control. ```APIDOC ## Ping Complex Check ### Description This example demonstrates an advanced Ping synthetic monitoring check, including configurations for IP version, payload size, and fragmentation control. ### Method Not applicable (Terraform resource configuration) ### Endpoint Not applicable (Terraform resource configuration) ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None (Terraform resource configuration) ### Request Example ```terraform data "grafana_synthetic_monitoring_probes" "main" {} resource "grafana_synthetic_monitoring_check" "ping" { job = "Ping Updated" target = "grafana.net" enabled = false probes = [ data.grafana_synthetic_monitoring_probes.main.probes.Frankfurt, data.grafana_synthetic_monitoring_probes.main.probes.London, ] labels = { foo = "baz" } settings { ping { ip_version = "Any" payload_size = 20 dont_fragment = true } } } ``` ### Response #### Success Response (200) Not applicable (Terraform resource configuration) #### Response Example Not applicable (Terraform resource configuration) ``` -------------------------------- ### Example Usage of grafana_k6_load_tests Data Source Source: https://registry.terraform.io/providers/grafana/grafana/latest/docs/data-sources/k6_load_tests This snippet demonstrates how to use the grafana_k6_load_tests data source to retrieve k6 load tests. It shows how to define a project, create load tests, and then query them using the data source, filtering by project ID and name. ```Terraform resource "grafana_k6_project" "load_test_project" { name = "Terraform Load Test Project" } resource "grafana_k6_load_test" "test_load_test" { project_id = grafana_k6_project.load_test_project.id name = "Terraform Test Load Test" script = <<-EOT export default function() { console.log('Hello from k6!'); } EOT depends_on = [ grafana_k6_project.load_test_project, ] } resource "grafana_k6_load_test" "test_load_test_2" { project_id = grafana_k6_project.load_test_project.id name = "Terraform Test Load Test (2)" script = <<-EOT export default function() { console.log('Hello from k6!'); } EOT depends_on = [ grafana_k6_load_test.test_load_test, ] } data "grafana_k6_load_tests" "from_project_id" { project_id = grafana_k6_project.load_test_project.id depends_on = [ grafana_k6_load_test.test_load_test, grafana_k6_load_test.test_load_test_2 ] } data "grafana_k6_load_tests" "filter_by_name" { name = "Terraform Test Load Test (2)" project_id = grafana_k6_project.load_test_project.id depends_on = [ grafana_k6_load_test.test_load_test_2, ] } ``` -------------------------------- ### Example Usage of grafana_k6_load_test Data Source Source: https://registry.terraform.io/providers/grafana/grafana/latest/docs/data-sources/k6_load_test Demonstrates how to create a k6 project and a load test, then retrieve the load test using its ID. This is useful for managing and referencing k6 load tests within Terraform infrastructure. ```terraform resource "grafana_k6_project" "load_test_project" { name = "Terraform Load Test Project" } resource "grafana_k6_load_test" "test_load_test" { project_id = grafana_k6_project.load_test_project.id name = "Terraform Test Load Test" script = <<-EOT export default function() { console.log('Hello from k6!'); } EOT } data "grafana_k6_load_test" "from_id" { id = grafana_k6_load_test.test_load_test.id } ``` -------------------------------- ### Example Usage of grafana_synthetic_monitoring_probe Source: https://registry.terraform.io/providers/grafana/grafana/latest/docs/data-sources/synthetic_monitoring_probe Use this data source to retrieve details of a specific Grafana synthetic monitoring probe by its name. This is useful for referencing probe configurations in your Terraform infrastructure. ```terraform data "grafana_synthetic_monitoring_probe" "Ohio" { name = "Ohio" } ``` -------------------------------- ### HTTP Complex Check Source: https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/synthetic_monitoring_check This example shows an advanced HTTP synthetic monitoring check with detailed configurations for IP version, method, headers, authentication, TLS settings, and response validation. ```APIDOC ## HTTP Complex Check ### Description This example shows an advanced HTTP synthetic monitoring check with detailed configurations for IP version, method, headers, authentication, TLS settings, and response validation. ### Method Not applicable (Terraform resource configuration) ### Endpoint Not applicable (Terraform resource configuration) ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None (Terraform resource configuration) ### Request Example ```terraform data "grafana_synthetic_monitoring_probes" "main" {} resource "grafana_synthetic_monitoring_check" "http" { job = "HTTP Defaults" target = "https://grafana.org" enabled = false folder_uid = "test-folder-uid" probes = [ data.grafana_synthetic_monitoring_probes.main.probes.Mumbai, data.grafana_synthetic_monitoring_probes.main.probes.Mumbai, ] labels = { foo = "bar" } settings { http { ip_version = "V6" method = "TRACE" body = "and spirit" no_follow_redirects = true bearer_token = "asdfjkl;" proxy_url = "https://almost-there" fail_if_ssl = true fail_if_not_ssl = true compression = "deflate" cache_busting_query_param_name = "pineapple" tls_config { server_name = "grafana.org" client_cert = <