# grafana Dialect

See which types this Dialect interprets and which architectural facts its Rules can establish.

<!-- Generated by scripts/generate-provider-coverage.ts from official Dialect sources. -->

<details>
<summary>Version and compatibility</summary>

**Version:** `0.1.0`.

**Provider bindings and declared compatibility**

- `grafana/grafana`: `= 4.45.2`.

[All official Dialects](https://docs.rootform.dev/reference/provider-coverage/)

</details>

## Interpreted types

Each row identifies a type and instance kind. Conditional Rules retain their individual conditions in the details below.

| Terraform type | Kind | Classification | Rules |
| --- | --- | --- | --- |
| `grafana_agento11y_collection` | `resource` | [`agent-observability-configuration`](#grafana-concept-agent-observability-configuration) | [`agento11y-collection`](#rule-agento11y-collection) |
| `grafana_agento11y_evaluation_rule` | `resource` | [`agent-observability-configuration`](#grafana-concept-agent-observability-configuration) | [`agento11y-evaluation-rule`](#rule-agento11y-evaluation-rule) |
| `grafana_agento11y_evaluator` | `resource` | [`agent-observability-configuration`](#grafana-concept-agent-observability-configuration) | [`agento11y-evaluator`](#rule-agento11y-evaluator) |
| `grafana_agento11y_hook_rule` | `resource` | [`agent-observability-configuration`](#grafana-concept-agent-observability-configuration) | [`agento11y-hook-rule`](#rule-agento11y-hook-rule) |
| `grafana_agento11y_rule_action` | `resource` | [`agent-observability-configuration`](#grafana-concept-agent-observability-configuration) | [`agento11y-rule-action`](#rule-agento11y-rule-action) |
| `grafana_apps_productactivation_appo11yconfig_v1alpha1` | `resource` | [`platform-installation`](#grafana-concept-platform-installation) | [`apps-productactivation-appo11yconfig-v1alpha1`](#rule-apps-productactivation-appo11yconfig-v1alpha1) |
| `grafana_apps_productactivation_dbo11yconfig_v1alpha1` | `resource` | [`platform-installation`](#grafana-concept-platform-installation) | [`apps-productactivation-dbo11yconfig-v1alpha1`](#rule-apps-productactivation-dbo11yconfig-v1alpha1) |
| `grafana_apps_productactivation_k8so11yconfig_v1alpha1` | `resource` | [`platform-installation`](#grafana-concept-platform-installation) | [`apps-productactivation-k8so11yconfig-v1alpha1`](#rule-apps-productactivation-k8so11yconfig-v1alpha1) |
| `grafana_apps_provisioning_connection_v0alpha1` | `resource` | [`git-sync-connection`](#grafana-concept-git-sync-connection) | [`apps-provisioning-connection-v0alpha1`](#rule-apps-provisioning-connection-v0alpha1) |
| `grafana_apps_provisioning_repository_v0alpha1` | `resource` | [`git-sync-repository`](#grafana-concept-git-sync-repository) | [`apps-provisioning-repository-v0alpha1`](#rule-apps-provisioning-repository-v0alpha1) |
| `grafana_apps_secret_keeper_activation_v1beta1` | `resource` | [`platform-installation`](#grafana-concept-platform-installation) | [`apps-secret-keeper-activation-v1beta1`](#rule-apps-secret-keeper-activation-v1beta1) |
| `grafana_asserts_custom_model_rules` | `resource` | [`knowledge-graph-configuration`](#grafana-concept-knowledge-graph-configuration) | [`asserts-custom-model-rules`](#rule-asserts-custom-model-rules) |
| `grafana_asserts_log_config` | `resource` | [`knowledge-graph-configuration`](#grafana-concept-knowledge-graph-configuration) | [`asserts-log-config`](#rule-asserts-log-config) |
| `grafana_asserts_notification_alerts_config` | `resource` | [`knowledge-graph-configuration`](#grafana-concept-knowledge-graph-configuration) | [`asserts-notification-alerts-config`](#rule-asserts-notification-alerts-config) |
| `grafana_asserts_profile_config` | `resource` | [`knowledge-graph-configuration`](#grafana-concept-knowledge-graph-configuration) | [`asserts-profile-config`](#rule-asserts-profile-config) |
| `grafana_asserts_prom_rule_file` | `resource` | [`knowledge-graph-configuration`](#grafana-concept-knowledge-graph-configuration) | [`asserts-prom-rule-file`](#rule-asserts-prom-rule-file) |
| `grafana_asserts_stack` | `resource` | [`knowledge-graph`](#grafana-concept-knowledge-graph) | [`asserts-stack`](#rule-asserts-stack) |
| `grafana_asserts_suppressed_assertions_config` | `resource` | [`knowledge-graph-configuration`](#grafana-concept-knowledge-graph-configuration) | [`asserts-suppressed-assertions-config`](#rule-asserts-suppressed-assertions-config) |
| `grafana_asserts_thresholds` | `resource` | [`knowledge-graph-configuration`](#grafana-concept-knowledge-graph-configuration) | [`asserts-thresholds`](#rule-asserts-thresholds) |
| `grafana_asserts_trace_config` | `resource` | [`knowledge-graph-configuration`](#grafana-concept-knowledge-graph-configuration) | [`asserts-trace-config`](#rule-asserts-trace-config) |
| `grafana_cloud_integration` | `resource` | [`cloud-integration-configuration`](#grafana-concept-cloud-integration-configuration) | [`cloud-integration`](#rule-cloud-integration) |
| `grafana_cloud_plugin_installation` | `resource` | [`platform-installation`](#grafana-concept-platform-installation) | [`cloud-plugin-installation`](#rule-cloud-plugin-installation) |
| `grafana_cloud_private_data_source_connect_network` | `resource` | [`private-data-source-connect-network`](#grafana-concept-private-data-source-connect-network) | [`cloud-private-data-source-connect-network`](#rule-cloud-private-data-source-connect-network) |
| `grafana_cloud_provider_aws_account` | `data` | [`cloud-observability-integration`](#grafana-concept-cloud-observability-integration) | [`cloud-provider-aws-account-lookup`](#rule-cloud-provider-aws-account-lookup) |
| `grafana_cloud_provider_aws_account` | `resource` | [`cloud-observability-integration`](#grafana-concept-cloud-observability-integration) | [`cloud-provider-aws-account`](#rule-cloud-provider-aws-account) |
| `grafana_cloud_provider_aws_cloudwatch_scrape_job` | `data` | [`cloud-integration-configuration`](#grafana-concept-cloud-integration-configuration) | [`cloud-provider-aws-cloudwatch-scrape-job-lookup`](#rule-cloud-provider-aws-cloudwatch-scrape-job-lookup) |
| `grafana_cloud_provider_aws_cloudwatch_scrape_job` | `resource` | [`cloud-integration-configuration`](#grafana-concept-cloud-integration-configuration) | [`cloud-provider-aws-cloudwatch-scrape-job`](#rule-cloud-provider-aws-cloudwatch-scrape-job) |
| `grafana_cloud_provider_aws_resource_metadata_scrape_job` | `resource` | [`cloud-integration-configuration`](#grafana-concept-cloud-integration-configuration) | [`cloud-provider-aws-resource-metadata-scrape-job`](#rule-cloud-provider-aws-resource-metadata-scrape-job) |
| `grafana_cloud_provider_azure_credential` | `data` | [`cloud-observability-integration`](#grafana-concept-cloud-observability-integration) | [`cloud-provider-azure-credential-lookup`](#rule-cloud-provider-azure-credential-lookup) |
| `grafana_cloud_provider_azure_credential` | `resource` | [`cloud-observability-integration`](#grafana-concept-cloud-observability-integration) | [`cloud-provider-azure-credential`](#rule-cloud-provider-azure-credential) |
| `grafana_cloud_stack` | `data` | [`observability-tenant`](#grafana-concept-observability-tenant) | [`cloud-stack-lookup`](#rule-cloud-stack-lookup) |
| `grafana_cloud_stack` | `resource` | [`observability-tenant`](#grafana-concept-observability-tenant) | [`cloud-stack`](#rule-cloud-stack) |
| `grafana_connections_metrics_endpoint_scrape_job` | `data` | [`metrics-scrape-job`](#grafana-concept-metrics-scrape-job) | [`connections-metrics-endpoint-scrape-job-lookup`](#rule-connections-metrics-endpoint-scrape-job-lookup) |
| `grafana_connections_metrics_endpoint_scrape_job` | `resource` | [`metrics-scrape-job`](#grafana-concept-metrics-scrape-job) | [`connections-metrics-endpoint-scrape-job`](#rule-connections-metrics-endpoint-scrape-job) |
| `grafana_data_source` | `data` | [`data-source`](#grafana-concept-data-source) | [`data-source-lookup`](#rule-data-source-lookup) |
| `grafana_data_source` | `resource` | [`data-source`](#grafana-concept-data-source) | [`data-source`](#rule-data-source) |
| `grafana_fleet_management_collector` | `data` | [`telemetry-collector`](#grafana-concept-telemetry-collector) | [`fleet-management-collector-lookup`](#rule-fleet-management-collector-lookup) |
| `grafana_fleet_management_collector` | `resource` | [`telemetry-collector`](#grafana-concept-telemetry-collector) | [`fleet-management-collector`](#rule-fleet-management-collector) |
| `grafana_frontend_o11y_app` | `data` | [`browser-observability-application`](#grafana-concept-browser-observability-application) | [`frontend-o11y-app-lookup`](#rule-frontend-o11y-app-lookup) |
| `grafana_frontend_o11y_app` | `resource` | [`browser-observability-application`](#grafana-concept-browser-observability-application) | [`frontend-o11y-app`](#rule-frontend-o11y-app) |
| `grafana_k6_installation` | `resource` | [`platform-installation`](#grafana-concept-platform-installation) | [`k6-installation`](#rule-k6-installation) |
| `grafana_k6_load_test` | `data` | [`performance-test`](#grafana-concept-performance-test) | [`k6-load-test-lookup`](#rule-k6-load-test-lookup) |
| `grafana_k6_load_test` | `resource` | [`performance-test`](#grafana-concept-performance-test) | [`k6-load-test`](#rule-k6-load-test) |
| `grafana_k6_project` | `data` | [`performance-testing-project`](#grafana-concept-performance-testing-project) | [`k6-project-lookup`](#rule-k6-project-lookup) |
| `grafana_k6_project` | `resource` | [`performance-testing-project`](#grafana-concept-performance-testing-project) | [`k6-project`](#rule-k6-project) |
| `grafana_machine_learning_alert` | `resource` | [`machine-learning-configuration`](#grafana-concept-machine-learning-configuration) | [`machine-learning-alert`](#rule-machine-learning-alert) |
| `grafana_machine_learning_job` | `resource` | [`machine-learning-configuration`](#grafana-concept-machine-learning-configuration) | [`machine-learning-job`](#rule-machine-learning-job) |
| `grafana_machine_learning_outlier_detector` | `resource` | [`machine-learning-configuration`](#grafana-concept-machine-learning-configuration) | [`machine-learning-outlier-detector`](#rule-machine-learning-outlier-detector) |
| `grafana_oncall_integration` | `data` | [`oncall-integration`](#grafana-concept-oncall-integration) | [`oncall-integration-lookup`](#rule-oncall-integration-lookup) |
| `grafana_oncall_integration` | `resource` | [`oncall-integration`](#grafana-concept-oncall-integration) | [`oncall-integration`](#rule-oncall-integration) |
| `grafana_oncall_route` | `resource` | [`oncall-routing`](#grafana-concept-oncall-routing) | [`oncall-route`](#rule-oncall-route) |
| `grafana_organization` | `data` | [`observability-tenant`](#grafana-concept-observability-tenant) | [`organization-lookup`](#rule-organization-lookup) |
| `grafana_organization` | `resource` | [`observability-tenant`](#grafana-concept-observability-tenant) | [`organization`](#rule-organization) |
| `grafana_scim_config` | `resource` | [`identity-configuration`](#grafana-concept-identity-configuration) | [`scim-config`](#rule-scim-config) |
| `grafana_sso_settings` | `resource` | [`identity-configuration`](#grafana-concept-identity-configuration) | [`sso-settings`](#rule-sso-settings) |
| `grafana_synthetic_monitoring_check` | `resource` | [`synthetic-check`](#grafana-concept-synthetic-check) | [`synthetic-monitoring-check`](#rule-synthetic-monitoring-check) |
| `grafana_synthetic_monitoring_installation` | `resource` | [`platform-installation`](#grafana-concept-platform-installation) | [`synthetic-monitoring-installation`](#rule-synthetic-monitoring-installation) |
| `grafana_synthetic_monitoring_probe` | `data` | [`synthetic-execution-location`](#grafana-concept-synthetic-execution-location) | [`synthetic-monitoring-probe-lookup`](#rule-synthetic-monitoring-probe-lookup) |
| `grafana_synthetic_monitoring_probe` | `resource` | [`synthetic-execution-location`](#grafana-concept-synthetic-execution-location) | [`synthetic-monitoring-probe`](#rule-synthetic-monitoring-probe) |

## Local vocabulary

### Concepts

<dl>

<div>
<dt id="grafana-concept-agent-observability-configuration"><code>grafana.concept.agent-observability-configuration</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/ai-ml/agent-observability.rf.hcl#L1-L3">Source</a></dt>
<dd>

A collection, evaluator, evaluation, guard, or action configuration for Agent Observability.

</dd>
<dd>


<details>
<summary>Used by 5 Rules</summary>

- [`agento11y-collection`](#rule-agento11y-collection)
- [`agento11y-evaluation-rule`](#rule-agento11y-evaluation-rule)
- [`agento11y-evaluator`](#rule-agento11y-evaluator)
- [`agento11y-hook-rule`](#rule-agento11y-hook-rule)
- [`agento11y-rule-action`](#rule-agento11y-rule-action)

</details>

</dd>
</div>

<div>
<dt id="grafana-concept-browser-observability-application"><code>grafana.concept.browser-observability-application</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/vocabulary.rf.hcl#L1-L3">Source</a></dt>
<dd>

An application boundary instrumented for browser or frontend observability.

</dd>
<dd>

Used by [`frontend-o11y-app`](#rule-frontend-o11y-app), [`frontend-o11y-app-lookup`](#rule-frontend-o11y-app-lookup).

</dd>
</div>

<div>
<dt id="grafana-concept-cloud-integration-configuration"><code>grafana.concept.cloud-integration-configuration</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/integrations/cloud-provider-observability.rf.hcl#L1-L3">Source</a></dt>
<dd>

A scrape job, integration package, or plugin supporting a Grafana Cloud integration.

</dd>
<dd>


<details>
<summary>Used by 4 Rules</summary>

- [`cloud-integration`](#rule-cloud-integration)
- [`cloud-provider-aws-cloudwatch-scrape-job`](#rule-cloud-provider-aws-cloudwatch-scrape-job)
- [`cloud-provider-aws-cloudwatch-scrape-job-lookup`](#rule-cloud-provider-aws-cloudwatch-scrape-job-lookup)
- [`cloud-provider-aws-resource-metadata-scrape-job`](#rule-cloud-provider-aws-resource-metadata-scrape-job)

</details>

</dd>
</div>

<div>
<dt id="grafana-concept-cloud-observability-integration"><code>grafana.concept.cloud-observability-integration</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/vocabulary.rf.hcl#L5-L7">Source</a></dt>
<dd>

A provider-neutral integration collecting telemetry and resource data from a cloud account, subscription, or project.

</dd>
<dd>


<details>
<summary>Used by 7 Rules</summary>

- [`cloud-provider-aws-account`](#rule-cloud-provider-aws-account)
- [`cloud-provider-aws-account-lookup`](#rule-cloud-provider-aws-account-lookup)
- [`cloud-provider-aws-cloudwatch-scrape-job`](#rule-cloud-provider-aws-cloudwatch-scrape-job)
- [`cloud-provider-aws-cloudwatch-scrape-job-lookup`](#rule-cloud-provider-aws-cloudwatch-scrape-job-lookup)
- [`cloud-provider-aws-resource-metadata-scrape-job`](#rule-cloud-provider-aws-resource-metadata-scrape-job)
- [`cloud-provider-azure-credential`](#rule-cloud-provider-azure-credential)
- [`cloud-provider-azure-credential-lookup`](#rule-cloud-provider-azure-credential-lookup)

</details>

</dd>
</div>

<div>
<dt id="grafana-concept-data-source"><code>grafana.concept.data-source</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/telemetry/data-sources.rf.hcl#L1-L3">Source</a></dt>
<dd>

A Grafana connection to an external or hosted telemetry data source.

</dd>
<dd>


<details>
<summary>Used by 5 Rules</summary>

- [`asserts-log-config`](#rule-asserts-log-config)
- [`asserts-profile-config`](#rule-asserts-profile-config)
- [`asserts-trace-config`](#rule-asserts-trace-config)
- [`data-source`](#rule-data-source)
- [`data-source-lookup`](#rule-data-source-lookup)

</details>

</dd>
</div>

<div>
<dt id="grafana-concept-git-sync-connection"><code>grafana.concept.git-sync-connection</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/platform-automation/git-sync.rf.hcl#L1-L3">Source</a></dt>
<dd>

A reusable authorization connection between Grafana Git Sync and a Git provider.

</dd>
<dd>

Used by [`apps-provisioning-connection-v0alpha1`](#rule-apps-provisioning-connection-v0alpha1), [`apps-provisioning-repository-v0alpha1`](#rule-apps-provisioning-repository-v0alpha1).

</dd>
</div>

<div>
<dt id="grafana-concept-git-sync-repository"><code>grafana.concept.git-sync-repository</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/platform-automation/git-sync.rf.hcl#L5-L7">Source</a></dt>
<dd>

A repository boundary synchronized bidirectionally with a Grafana instance.

</dd>
<dd>

Used by [`apps-provisioning-repository-v0alpha1`](#rule-apps-provisioning-repository-v0alpha1).

</dd>
</div>

<div>
<dt id="grafana-concept-identity-configuration"><code>grafana.concept.identity-configuration</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/identity-access/federation.rf.hcl#L1-L3">Source</a></dt>
<dd>

An SSO or SCIM configuration supporting access to Grafana.

</dd>
<dd>

Used by [`scim-config`](#rule-scim-config), [`sso-settings`](#rule-sso-settings).

</dd>
</div>

<div>
<dt id="grafana-concept-knowledge-graph"><code>grafana.concept.knowledge-graph</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/service-management/knowledge-graph.rf.hcl#L1-L3">Source</a></dt>
<dd>

A Grafana Cloud Knowledge Graph instance mapping observed services and dependencies.

</dd>
<dd>

Used by [`asserts-stack`](#rule-asserts-stack).

</dd>
</div>

<div>
<dt id="grafana-concept-knowledge-graph-configuration"><code>grafana.concept.knowledge-graph-configuration</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/service-management/knowledge-graph.rf.hcl#L5-L7">Source</a></dt>
<dd>

A dataset, mapping, threshold, rule, or notification detail for Knowledge Graph.

</dd>
<dd>


<details>
<summary>Used by 8 Rules</summary>

- [`asserts-custom-model-rules`](#rule-asserts-custom-model-rules)
- [`asserts-log-config`](#rule-asserts-log-config)
- [`asserts-notification-alerts-config`](#rule-asserts-notification-alerts-config)
- [`asserts-profile-config`](#rule-asserts-profile-config)
- [`asserts-prom-rule-file`](#rule-asserts-prom-rule-file)
- [`asserts-suppressed-assertions-config`](#rule-asserts-suppressed-assertions-config)
- [`asserts-thresholds`](#rule-asserts-thresholds)
- [`asserts-trace-config`](#rule-asserts-trace-config)

</details>

</dd>
</div>

<div>
<dt id="grafana-concept-machine-learning-configuration"><code>grafana.concept.machine-learning-configuration</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/ai-ml/machine-learning.rf.hcl#L1-L3">Source</a></dt>
<dd>

A machine-learning job, outlier detector, or alert supporting observability operations.

</dd>
<dd>

Used by [`machine-learning-alert`](#rule-machine-learning-alert), [`machine-learning-job`](#rule-machine-learning-job), [`machine-learning-outlier-detector`](#rule-machine-learning-outlier-detector).

</dd>
</div>

<div>
<dt id="grafana-concept-managed-secret"><code>grafana.concept.managed-secret</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/vocabulary.rf.hcl#L9-L11">Source</a></dt>
<dd>

A managed secret identity whose sensitive value stays outside architecture output.

</dd>
<dd>

No Rule in this Dialect uses this definition.

</dd>
</div>

<div>
<dt id="grafana-concept-metrics-scrape-job"><code>grafana.concept.metrics-scrape-job</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/telemetry/metrics-endpoints.rf.hcl#L1-L3">Source</a></dt>
<dd>

A Grafana Cloud scrape job collecting metrics from an explicit endpoint.

</dd>
<dd>

Used by [`connections-metrics-endpoint-scrape-job`](#rule-connections-metrics-endpoint-scrape-job), [`connections-metrics-endpoint-scrape-job-lookup`](#rule-connections-metrics-endpoint-scrape-job-lookup).

</dd>
</div>

<div>
<dt id="grafana-concept-observability-tenant"><code>grafana.concept.observability-tenant</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/vocabulary.rf.hcl#L13-L15">Source</a></dt>
<dd>

A provider-neutral account, organization, or stack boundary isolating observability data and configuration.

</dd>
<dd>


<details>
<summary>Used by 21 Rules</summary>

- [`cloud-plugin-installation`](#rule-cloud-plugin-installation)
- [`cloud-private-data-source-connect-network`](#rule-cloud-private-data-source-connect-network)
- [`cloud-provider-aws-account`](#rule-cloud-provider-aws-account)
- [`cloud-provider-aws-account-lookup`](#rule-cloud-provider-aws-account-lookup)
- [`cloud-provider-aws-cloudwatch-scrape-job`](#rule-cloud-provider-aws-cloudwatch-scrape-job)
- [`cloud-provider-aws-cloudwatch-scrape-job-lookup`](#rule-cloud-provider-aws-cloudwatch-scrape-job-lookup)
- [`cloud-provider-aws-resource-metadata-scrape-job`](#rule-cloud-provider-aws-resource-metadata-scrape-job)
- [`cloud-provider-azure-credential`](#rule-cloud-provider-azure-credential)
- [`cloud-provider-azure-credential-lookup`](#rule-cloud-provider-azure-credential-lookup)
- [`cloud-stack`](#rule-cloud-stack)
- [`cloud-stack-lookup`](#rule-cloud-stack-lookup)
- [`connections-metrics-endpoint-scrape-job`](#rule-connections-metrics-endpoint-scrape-job)
- [`connections-metrics-endpoint-scrape-job-lookup`](#rule-connections-metrics-endpoint-scrape-job-lookup)
- [`data-source`](#rule-data-source)
- [`data-source-lookup`](#rule-data-source-lookup)
- [`frontend-o11y-app`](#rule-frontend-o11y-app)
- [`frontend-o11y-app-lookup`](#rule-frontend-o11y-app-lookup)
- [`k6-installation`](#rule-k6-installation)
- [`organization`](#rule-organization)
- [`organization-lookup`](#rule-organization-lookup)
- [`synthetic-monitoring-installation`](#rule-synthetic-monitoring-installation)

</details>

</dd>
</div>

<div>
<dt id="grafana-concept-oncall-integration"><code>grafana.concept.oncall-integration</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/incident-response/oncall.rf.hcl#L1-L3">Source</a></dt>
<dd>

An inbound Grafana OnCall integration receiving alerts from an external system.

</dd>
<dd>

Used by [`oncall-integration`](#rule-oncall-integration), [`oncall-integration-lookup`](#rule-oncall-integration-lookup), [`oncall-route`](#rule-oncall-route).

</dd>
</div>

<div>
<dt id="grafana-concept-oncall-routing"><code>grafana.concept.oncall-routing</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/incident-response/oncall.rf.hcl#L5-L7">Source</a></dt>
<dd>

A route supporting an OnCall integration without becoming an application flow.

</dd>
<dd>

Used by [`oncall-route`](#rule-oncall-route).

</dd>
</div>

<div>
<dt id="grafana-concept-performance-test"><code>grafana.concept.performance-test</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/performance-testing/k6.rf.hcl#L1-L3">Source</a></dt>
<dd>

A k6 test definition supporting a performance-testing project.

</dd>
<dd>

Used by [`k6-load-test`](#rule-k6-load-test), [`k6-load-test-lookup`](#rule-k6-load-test-lookup).

</dd>
</div>

<div>
<dt id="grafana-concept-performance-testing-project"><code>grafana.concept.performance-testing-project</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/performance-testing/k6.rf.hcl#L5-L7">Source</a></dt>
<dd>

A Grafana Cloud k6 project grouping performance and load tests.

</dd>
<dd>


<details>
<summary>Used by 4 Rules</summary>

- [`k6-load-test`](#rule-k6-load-test)
- [`k6-load-test-lookup`](#rule-k6-load-test-lookup)
- [`k6-project`](#rule-k6-project)
- [`k6-project-lookup`](#rule-k6-project-lookup)

</details>

</dd>
</div>

<div>
<dt id="grafana-concept-platform-installation"><code>grafana.concept.platform-installation</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/platform/installations.rf.hcl#L1-L3">Source</a></dt>
<dd>

A product activation or installation supporting a Grafana Cloud stack.

</dd>
<dd>


<details>
<summary>Used by 7 Rules</summary>

- [`apps-productactivation-appo11yconfig-v1alpha1`](#rule-apps-productactivation-appo11yconfig-v1alpha1)
- [`apps-productactivation-dbo11yconfig-v1alpha1`](#rule-apps-productactivation-dbo11yconfig-v1alpha1)
- [`apps-productactivation-k8so11yconfig-v1alpha1`](#rule-apps-productactivation-k8so11yconfig-v1alpha1)
- [`apps-secret-keeper-activation-v1beta1`](#rule-apps-secret-keeper-activation-v1beta1)
- [`cloud-plugin-installation`](#rule-cloud-plugin-installation)
- [`k6-installation`](#rule-k6-installation)
- [`synthetic-monitoring-installation`](#rule-synthetic-monitoring-installation)

</details>

</dd>
</div>

<div>
<dt id="grafana-concept-private-data-source-connect-network"><code>grafana.concept.private-data-source-connect-network</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/network/private-data-source-connect.rf.hcl#L1-L3">Source</a></dt>
<dd>

A Grafana Cloud PDC network connecting a stack to data sources hosted on a private network.

</dd>
<dd>

Used by [`cloud-private-data-source-connect-network`](#rule-cloud-private-data-source-connect-network), [`data-source`](#rule-data-source), [`data-source-lookup`](#rule-data-source-lookup).

</dd>
</div>

<div>
<dt id="grafana-concept-service-objective"><code>grafana.concept.service-objective</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/vocabulary.rf.hcl#L17-L19">Source</a></dt>
<dd>

A provider-neutral service level indicator or objective supporting architecture operations.

</dd>
<dd>

No Rule in this Dialect uses this definition.

</dd>
</div>

<div>
<dt id="grafana-concept-synthetic-check"><code>grafana.concept.synthetic-check</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/vocabulary.rf.hcl#L21-L23">Source</a></dt>
<dd>

A synthetic check supporting an observed target without owning target runtime.

</dd>
<dd>

Used by [`synthetic-monitoring-check`](#rule-synthetic-monitoring-check).

</dd>
</div>

<div>
<dt id="grafana-concept-synthetic-execution-location"><code>grafana.concept.synthetic-execution-location</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/vocabulary.rf.hcl#L25-L27">Source</a></dt>
<dd>

A public or private execution location running synthetic checks.

</dd>
<dd>

Used by [`synthetic-monitoring-check`](#rule-synthetic-monitoring-check), [`synthetic-monitoring-probe`](#rule-synthetic-monitoring-probe), [`synthetic-monitoring-probe-lookup`](#rule-synthetic-monitoring-probe-lookup).

</dd>
</div>

<div>
<dt id="grafana-concept-telemetry-collector"><code>grafana.concept.telemetry-collector</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/telemetry/fleet-management.rf.hcl#L1-L3">Source</a></dt>
<dd>

A Grafana Alloy or OpenTelemetry Collector managed through Grafana Fleet Management.

</dd>
<dd>

Used by [`fleet-management-collector`](#rule-fleet-management-collector), [`fleet-management-collector-lookup`](#rule-fleet-management-collector-lookup).

</dd>
</div>

</dl>

### Contexts

<dl>

<div>
<dt id="grafana-context-ownership"><code>grafana.context.ownership</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/vocabulary.rf.hcl#L29-L31">Source</a></dt>
<dd>

Administrative or lifecycle ownership.

</dd>
<dd>


<details>
<summary>Used by 14 Rules</summary>

- [`cloud-private-data-source-connect-network`](#rule-cloud-private-data-source-connect-network)
- [`cloud-provider-aws-account`](#rule-cloud-provider-aws-account)
- [`cloud-provider-aws-account-lookup`](#rule-cloud-provider-aws-account-lookup)
- [`cloud-provider-aws-cloudwatch-scrape-job`](#rule-cloud-provider-aws-cloudwatch-scrape-job)
- [`cloud-provider-aws-cloudwatch-scrape-job-lookup`](#rule-cloud-provider-aws-cloudwatch-scrape-job-lookup)
- [`cloud-provider-aws-resource-metadata-scrape-job`](#rule-cloud-provider-aws-resource-metadata-scrape-job)
- [`cloud-provider-azure-credential`](#rule-cloud-provider-azure-credential)
- [`cloud-provider-azure-credential-lookup`](#rule-cloud-provider-azure-credential-lookup)
- [`connections-metrics-endpoint-scrape-job`](#rule-connections-metrics-endpoint-scrape-job)
- [`connections-metrics-endpoint-scrape-job-lookup`](#rule-connections-metrics-endpoint-scrape-job-lookup)
- [`data-source`](#rule-data-source)
- [`data-source-lookup`](#rule-data-source-lookup)
- [`frontend-o11y-app`](#rule-frontend-o11y-app)
- [`frontend-o11y-app-lookup`](#rule-frontend-o11y-app-lookup)

</details>

</dd>
</div>

</dl>

### Relations

<dl>

<div>
<dt id="grafana-relation-authenticates-through"><code>grafana.relation.authenticates-through</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/platform-automation/git-sync.rf.hcl#L33-L43">Source</a></dt>
<dd>

Introduced by a labeled emission.
Used by [`apps-provisioning-repository-v0alpha1`](#rule-apps-provisioning-repository-v0alpha1).

</dd>
</div>

<div>
<dt id="grafana-relation-authorized-by"><code>grafana.relation.authorized-by</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/integrations/cloud-provider-observability.rf.hcl#L223-L228">Source</a></dt>
<dd>

Introduced by a labeled emission.
Used by [`cloud-provider-azure-credential`](#rule-cloud-provider-azure-credential), [`cloud-provider-azure-credential-lookup`](#rule-cloud-provider-azure-credential-lookup).

</dd>
</div>

<div>
<dt id="grafana-relation-connects-through"><code>grafana.relation.connects-through</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/telemetry/data-sources.rf.hcl#L37-L47">Source</a></dt>
<dd>

Introduced by a labeled emission.
Used by [`data-source`](#rule-data-source), [`data-source-lookup`](#rule-data-source-lookup).

</dd>
</div>

</dl>

## RF Vocabulary used

- [`rf.concept.service-identity`](https://docs.rootform.dev/language/reference/rf-vocabulary/#rf-concept-service-identity)

## Rule details

Open a Rule for its declared behavior and source. [Matching](https://docs.rootform.dev/language/reference/rules/#eligibility-pipeline), [emission resolution](https://docs.rootform.dev/language/reference/emissions/) and [composition](https://docs.rootform.dev/language/reference/composition/) define how evidence can establish it.

<details>
<summary><code>grafana.rule.agento11y-collection</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/ai-ml/agent-observability.rf.hcl#L5-L11">Source</a></summary>

<div id="rule-agento11y-collection"></div>

Matches `resource` instances of `grafana_agento11y_collection`.

**Classification:** [`grafana.concept.agent-observability-configuration`](#grafana-concept-agent-observability-configuration).

</details>

<details>
<summary><code>grafana.rule.agento11y-evaluation-rule</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/ai-ml/agent-observability.rf.hcl#L13-L19">Source</a></summary>

<div id="rule-agento11y-evaluation-rule"></div>

Matches `resource` instances of `grafana_agento11y_evaluation_rule`.

**Classification:** [`grafana.concept.agent-observability-configuration`](#grafana-concept-agent-observability-configuration).

</details>

<details>
<summary><code>grafana.rule.agento11y-evaluator</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/ai-ml/agent-observability.rf.hcl#L21-L27">Source</a></summary>

<div id="rule-agento11y-evaluator"></div>

Matches `resource` instances of `grafana_agento11y_evaluator`.

**Classification:** [`grafana.concept.agent-observability-configuration`](#grafana-concept-agent-observability-configuration).

</details>

<details>
<summary><code>grafana.rule.agento11y-hook-rule</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/ai-ml/agent-observability.rf.hcl#L29-L35">Source</a></summary>

<div id="rule-agento11y-hook-rule"></div>

Matches `resource` instances of `grafana_agento11y_hook_rule`.

**Classification:** [`grafana.concept.agent-observability-configuration`](#grafana-concept-agent-observability-configuration).

</details>

<details>
<summary><code>grafana.rule.agento11y-rule-action</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/ai-ml/agent-observability.rf.hcl#L37-L43">Source</a></summary>

<div id="rule-agento11y-rule-action"></div>

Matches `resource` instances of `grafana_agento11y_rule_action`.

**Classification:** [`grafana.concept.agent-observability-configuration`](#grafana-concept-agent-observability-configuration).

</details>

<details>
<summary><code>grafana.rule.apps-productactivation-appo11yconfig-v1alpha1</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/platform/installations.rf.hcl#L5-L11">Source</a></summary>

<div id="rule-apps-productactivation-appo11yconfig-v1alpha1"></div>

Matches `resource` instances of `grafana_apps_productactivation_appo11yconfig_v1alpha1`.

**Classification:** [`grafana.concept.platform-installation`](#grafana-concept-platform-installation).

</details>

<details>
<summary><code>grafana.rule.apps-productactivation-dbo11yconfig-v1alpha1</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/platform/installations.rf.hcl#L13-L19">Source</a></summary>

<div id="rule-apps-productactivation-dbo11yconfig-v1alpha1"></div>

Matches `resource` instances of `grafana_apps_productactivation_dbo11yconfig_v1alpha1`.

**Classification:** [`grafana.concept.platform-installation`](#grafana-concept-platform-installation).

</details>

<details>
<summary><code>grafana.rule.apps-productactivation-k8so11yconfig-v1alpha1</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/platform/installations.rf.hcl#L21-L27">Source</a></summary>

<div id="rule-apps-productactivation-k8so11yconfig-v1alpha1"></div>

Matches `resource` instances of `grafana_apps_productactivation_k8so11yconfig_v1alpha1`.

**Classification:** [`grafana.concept.platform-installation`](#grafana-concept-platform-installation).

</details>

<details>
<summary><code>grafana.rule.apps-provisioning-connection-v0alpha1</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/platform-automation/git-sync.rf.hcl#L9-L24">Source</a></summary>

<div id="rule-apps-provisioning-connection-v0alpha1"></div>

Matches `resource` instances of `grafana_apps_provisioning_connection_v0alpha1`.

**Classification:** [`grafana.concept.git-sync-connection`](#grafana-concept-git-sync-connection).

<details>
<summary>Conditions, identity and resolution</summary>

**Identity**

- `attributes`: `["metadata.uid"]`
- `scope`: `"provider"`

**Endpoint**

- `attributes`: `["id", "metadata.uid"]`

</details>

</details>

<details>
<summary><code>grafana.rule.apps-provisioning-repository-v0alpha1</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/platform-automation/git-sync.rf.hcl#L26-L44">Source</a></summary>

<div id="rule-apps-provisioning-repository-v0alpha1"></div>

Matches `resource` instances of `grafana_apps_provisioning_repository_v0alpha1`.

**Classification:** [`grafana.concept.git-sync-repository`](#grafana-concept-git-sync-repository).

**Relations**

- [`grafana.relation.authenticates-through`](#grafana-relation-authenticates-through): targets [`grafana.concept.git-sync-connection`](#grafana-concept-git-sync-connection) through `source.spec.connection.name`.

<details>
<summary>Conditions, identity and resolution</summary>

**Relation through `source.spec.connection.name`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `match.by`: `target.metadata.uid`
- `match.strategy`: `"exact"`

</details>

</details>

<details>
<summary><code>grafana.rule.apps-secret-keeper-activation-v1beta1</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/platform/installations.rf.hcl#L29-L35">Source</a></summary>

<div id="rule-apps-secret-keeper-activation-v1beta1"></div>

Matches `resource` instances of `grafana_apps_secret_keeper_activation_v1beta1`.

**Classification:** [`grafana.concept.platform-installation`](#grafana-concept-platform-installation).

</details>

<details>
<summary><code>grafana.rule.asserts-custom-model-rules</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/service-management/knowledge-graph.rf.hcl#L9-L15">Source</a></summary>

<div id="rule-asserts-custom-model-rules"></div>

Matches `resource` instances of `grafana_asserts_custom_model_rules`.

**Classification:** [`grafana.concept.knowledge-graph-configuration`](#grafana-concept-knowledge-graph-configuration).

</details>

<details>
<summary><code>grafana.rule.asserts-log-config</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/service-management/knowledge-graph.rf.hcl#L17-L35">Source</a></summary>

<div id="rule-asserts-log-config"></div>

Matches `resource` instances of `grafana_asserts_log_config`.

**Classification:** [`grafana.concept.knowledge-graph-configuration`](#grafana-concept-knowledge-graph-configuration).

**Contributions**

- targets [`grafana.concept.data-source`](#grafana-concept-data-source) through `source.data_source_uid`.

<details>
<summary>Conditions, identity and resolution</summary>

**Contribution through `source.data_source_uid`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `match.by`: `target.uid`
- `match.strategy`: `"exact"`

</details>

</details>

<details>
<summary><code>grafana.rule.asserts-notification-alerts-config</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/service-management/knowledge-graph.rf.hcl#L37-L43">Source</a></summary>

<div id="rule-asserts-notification-alerts-config"></div>

Matches `resource` instances of `grafana_asserts_notification_alerts_config`.

**Classification:** [`grafana.concept.knowledge-graph-configuration`](#grafana-concept-knowledge-graph-configuration).

</details>

<details>
<summary><code>grafana.rule.asserts-profile-config</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/service-management/knowledge-graph.rf.hcl#L45-L63">Source</a></summary>

<div id="rule-asserts-profile-config"></div>

Matches `resource` instances of `grafana_asserts_profile_config`.

**Classification:** [`grafana.concept.knowledge-graph-configuration`](#grafana-concept-knowledge-graph-configuration).

**Contributions**

- targets [`grafana.concept.data-source`](#grafana-concept-data-source) through `source.data_source_uid`.

<details>
<summary>Conditions, identity and resolution</summary>

**Contribution through `source.data_source_uid`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `match.by`: `target.uid`
- `match.strategy`: `"exact"`

</details>

</details>

<details>
<summary><code>grafana.rule.asserts-prom-rule-file</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/service-management/knowledge-graph.rf.hcl#L65-L71">Source</a></summary>

<div id="rule-asserts-prom-rule-file"></div>

Matches `resource` instances of `grafana_asserts_prom_rule_file`.

**Classification:** [`grafana.concept.knowledge-graph-configuration`](#grafana-concept-knowledge-graph-configuration).

</details>

<details>
<summary><code>grafana.rule.asserts-stack</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/service-management/knowledge-graph.rf.hcl#L73-L79">Source</a></summary>

<div id="rule-asserts-stack"></div>

Matches `resource` instances of `grafana_asserts_stack`.

**Classification:** [`grafana.concept.knowledge-graph`](#grafana-concept-knowledge-graph).

</details>

<details>
<summary><code>grafana.rule.asserts-suppressed-assertions-config</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/service-management/knowledge-graph.rf.hcl#L81-L87">Source</a></summary>

<div id="rule-asserts-suppressed-assertions-config"></div>

Matches `resource` instances of `grafana_asserts_suppressed_assertions_config`.

**Classification:** [`grafana.concept.knowledge-graph-configuration`](#grafana-concept-knowledge-graph-configuration).

</details>

<details>
<summary><code>grafana.rule.asserts-thresholds</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/service-management/knowledge-graph.rf.hcl#L89-L95">Source</a></summary>

<div id="rule-asserts-thresholds"></div>

Matches `resource` instances of `grafana_asserts_thresholds`.

**Classification:** [`grafana.concept.knowledge-graph-configuration`](#grafana-concept-knowledge-graph-configuration).

</details>

<details>
<summary><code>grafana.rule.asserts-trace-config</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/service-management/knowledge-graph.rf.hcl#L97-L115">Source</a></summary>

<div id="rule-asserts-trace-config"></div>

Matches `resource` instances of `grafana_asserts_trace_config`.

**Classification:** [`grafana.concept.knowledge-graph-configuration`](#grafana-concept-knowledge-graph-configuration).

**Contributions**

- targets [`grafana.concept.data-source`](#grafana-concept-data-source) through `source.data_source_uid`.

<details>
<summary>Conditions, identity and resolution</summary>

**Contribution through `source.data_source_uid`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `match.by`: `target.uid`
- `match.strategy`: `"exact"`

</details>

</details>

<details>
<summary><code>grafana.rule.cloud-integration</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/integrations/cloud-provider-observability.rf.hcl#L5-L11">Source</a></summary>

<div id="rule-cloud-integration"></div>

Matches `resource` instances of `grafana_cloud_integration`.

**Classification:** [`grafana.concept.cloud-integration-configuration`](#grafana-concept-cloud-integration-configuration).

</details>

<details>
<summary><code>grafana.rule.cloud-plugin-installation</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/platform/installations.rf.hcl#L37-L58">Source</a></summary>

<div id="rule-cloud-plugin-installation"></div>

Matches `resource` instances of `grafana_cloud_plugin_installation`.

**Classification:** [`grafana.concept.platform-installation`](#grafana-concept-platform-installation).

**Contributions**

- targets [`grafana.concept.observability-tenant`](#grafana-concept-observability-tenant) through `source.stack_slug`.

<details>
<summary>Conditions, identity and resolution</summary>

**Contribution through `source.stack_slug`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `external`: `"allow"`
- `match.by`: `target.slug`
- `match.strategy`: `"exact"`

</details>

</details>

<details>
<summary><code>grafana.rule.cloud-private-data-source-connect-network</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/network/private-data-source-connect.rf.hcl#L5-L36">Source</a></summary>

<div id="rule-cloud-private-data-source-connect-network"></div>

Matches `resource` instances of `grafana_cloud_private_data_source_connect_network`.

**Classification:** [`grafana.concept.private-data-source-connect-network`](#grafana-concept-private-data-source-connect-network).

**Contexts**

- [`grafana.context.ownership`](#grafana-context-ownership): targets [`grafana.concept.observability-tenant`](#grafana-concept-observability-tenant) through `source.stack_identifier`.

<details>
<summary>Conditions, identity and resolution</summary>

**Identity**

- `attributes`: `["id", "pdc_network_id"]`
- `scope`: `"provider"`

**Endpoint**

- `attributes`: `["id", "pdc_network_id"]`

**Context through `source.stack_identifier`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `external`: `"allow"`
- `match.by`: `[target.slug, target.id]`
- `match.strategy`: `"exact"`

</details>

</details>

<details>
<summary><code>grafana.rule.cloud-provider-aws-account-lookup</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/integrations/cloud-provider-observability.rf.hcl#L47-L80">Source</a></summary>

<div id="rule-cloud-provider-aws-account-lookup"></div>

Matches `data` instances of `grafana_cloud_provider_aws_account`.

**Classification:** [`grafana.concept.cloud-observability-integration`](#grafana-concept-cloud-observability-integration).

**Contexts**

- [`grafana.context.ownership`](#grafana-context-ownership): targets [`grafana.concept.observability-tenant`](#grafana-concept-observability-tenant) through `source.stack_id`.

<details>
<summary>Conditions, identity and resolution</summary>

**Identity**

- `attributes`: `["id", "resource_id"]`
- `scope`: `"provider"`

**Endpoint**

- `attributes`: `["id", "resource_id"]`

**Context through `source.stack_id`**

- `on_null`: `"indeterminate"`
- `on_empty`: `"indeterminate"`
- `external`: `"allow"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

</details>

</details>

<details>
<summary><code>grafana.rule.cloud-provider-aws-account</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/integrations/cloud-provider-observability.rf.hcl#L13-L45">Source</a></summary>

<div id="rule-cloud-provider-aws-account"></div>

Matches `resource` instances of `grafana_cloud_provider_aws_account`.

**Classification:** [`grafana.concept.cloud-observability-integration`](#grafana-concept-cloud-observability-integration).

**Contexts**

- [`grafana.context.ownership`](#grafana-context-ownership): targets [`grafana.concept.observability-tenant`](#grafana-concept-observability-tenant) through `source.stack_id`.

<details>
<summary>Conditions, identity and resolution</summary>

**Identity**

- `attributes`: `["id", "resource_id"]`
- `scope`: `"provider"`

**Endpoint**

- `attributes`: `["id", "resource_id"]`

**Context through `source.stack_id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `external`: `"allow"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

</details>

</details>

<details>
<summary><code>grafana.rule.cloud-provider-aws-cloudwatch-scrape-job-lookup</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/integrations/cloud-provider-observability.rf.hcl#L118-L153">Source</a></summary>

<div id="rule-cloud-provider-aws-cloudwatch-scrape-job-lookup"></div>

Matches `data` instances of `grafana_cloud_provider_aws_cloudwatch_scrape_job`.

**Classification:** [`grafana.concept.cloud-integration-configuration`](#grafana-concept-cloud-integration-configuration).

**Contexts**

- [`grafana.context.ownership`](#grafana-context-ownership): targets [`grafana.concept.observability-tenant`](#grafana-concept-observability-tenant) through `source.stack_id`.

**Contributions**

- targets [`grafana.concept.cloud-observability-integration`](#grafana-concept-cloud-observability-integration) through `source.aws_account_resource_id`.

<details>
<summary>Conditions, identity and resolution</summary>

**Context through `source.stack_id`**

- `on_null`: `"indeterminate"`
- `on_empty`: `"indeterminate"`
- `external`: `"allow"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

**Contribution through `source.aws_account_resource_id`**

- `on_null`: `"indeterminate"`
- `on_empty`: `"indeterminate"`
- `match.by`: `target.resource_id`
- `match.strategy`: `"exact"`

</details>

</details>

<details>
<summary><code>grafana.rule.cloud-provider-aws-cloudwatch-scrape-job</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/integrations/cloud-provider-observability.rf.hcl#L82-L116">Source</a></summary>

<div id="rule-cloud-provider-aws-cloudwatch-scrape-job"></div>

Matches `resource` instances of `grafana_cloud_provider_aws_cloudwatch_scrape_job`.

**Classification:** [`grafana.concept.cloud-integration-configuration`](#grafana-concept-cloud-integration-configuration).

**Contexts**

- [`grafana.context.ownership`](#grafana-context-ownership): targets [`grafana.concept.observability-tenant`](#grafana-concept-observability-tenant) through `source.stack_id`.

**Contributions**

- targets [`grafana.concept.cloud-observability-integration`](#grafana-concept-cloud-observability-integration) through `source.aws_account_resource_id`.

<details>
<summary>Conditions, identity and resolution</summary>

**Context through `source.stack_id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `external`: `"allow"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

**Contribution through `source.aws_account_resource_id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `match.by`: `target.resource_id`
- `match.strategy`: `"exact"`

</details>

</details>

<details>
<summary><code>grafana.rule.cloud-provider-aws-resource-metadata-scrape-job</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/integrations/cloud-provider-observability.rf.hcl#L155-L189">Source</a></summary>

<div id="rule-cloud-provider-aws-resource-metadata-scrape-job"></div>

Matches `resource` instances of `grafana_cloud_provider_aws_resource_metadata_scrape_job`.

**Classification:** [`grafana.concept.cloud-integration-configuration`](#grafana-concept-cloud-integration-configuration).

**Contexts**

- [`grafana.context.ownership`](#grafana-context-ownership): targets [`grafana.concept.observability-tenant`](#grafana-concept-observability-tenant) through `source.stack_id`.

**Contributions**

- targets [`grafana.concept.cloud-observability-integration`](#grafana-concept-cloud-observability-integration) through `source.aws_account_resource_id`.

<details>
<summary>Conditions, identity and resolution</summary>

**Context through `source.stack_id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `external`: `"allow"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

**Contribution through `source.aws_account_resource_id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `match.by`: `target.resource_id`
- `match.strategy`: `"exact"`

</details>

</details>

<details>
<summary><code>grafana.rule.cloud-provider-azure-credential-lookup</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/integrations/cloud-provider-observability.rf.hcl#L231-L270">Source</a></summary>

<div id="rule-cloud-provider-azure-credential-lookup"></div>

Matches `data` instances of `grafana_cloud_provider_azure_credential`.

**Classification:** [`grafana.concept.cloud-observability-integration`](#grafana-concept-cloud-observability-integration).

**Contexts**

- [`grafana.context.ownership`](#grafana-context-ownership): targets [`grafana.concept.observability-tenant`](#grafana-concept-observability-tenant) through `source.stack_id`.

**Relations**

- [`grafana.relation.authorized-by`](#grafana-relation-authorized-by): targets [`rf.concept.service-identity`](https://docs.rootform.dev/language/reference/rf-vocabulary/#rf-concept-service-identity) through `source.client_id`.

<details>
<summary>Conditions, identity and resolution</summary>

**Identity**

- `attributes`: `["id", "resource_id"]`
- `scope`: `"provider"`

**Endpoint**

- `attributes`: `["id", "resource_id"]`

**Context through `source.stack_id`**

- `on_null`: `"indeterminate"`
- `on_empty`: `"indeterminate"`
- `external`: `"allow"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

**Relation through `source.client_id`**

- `on_null`: `"indeterminate"`
- `on_empty`: `"indeterminate"`

</details>

</details>

<details>
<summary><code>grafana.rule.cloud-provider-azure-credential</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/integrations/cloud-provider-observability.rf.hcl#L191-L229">Source</a></summary>

<div id="rule-cloud-provider-azure-credential"></div>

Matches `resource` instances of `grafana_cloud_provider_azure_credential`.

**Classification:** [`grafana.concept.cloud-observability-integration`](#grafana-concept-cloud-observability-integration).

**Contexts**

- [`grafana.context.ownership`](#grafana-context-ownership): targets [`grafana.concept.observability-tenant`](#grafana-concept-observability-tenant) through `source.stack_id`.

**Relations**

- [`grafana.relation.authorized-by`](#grafana-relation-authorized-by): targets [`rf.concept.service-identity`](https://docs.rootform.dev/language/reference/rf-vocabulary/#rf-concept-service-identity) through `source.client_id`.

<details>
<summary>Conditions, identity and resolution</summary>

**Identity**

- `attributes`: `["id", "resource_id"]`
- `scope`: `"provider"`

**Endpoint**

- `attributes`: `["id", "resource_id"]`

**Context through `source.stack_id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `external`: `"allow"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

**Relation through `source.client_id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`

</details>

</details>

<details>
<summary><code>grafana.rule.cloud-stack-lookup</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/platform/cloud-stacks.rf.hcl#L18-L34">Source</a></summary>

<div id="rule-cloud-stack-lookup"></div>

Matches `data` instances of `grafana_cloud_stack`.

**Classification:** [`grafana.concept.observability-tenant`](#grafana-concept-observability-tenant).

<details>
<summary>Conditions, identity and resolution</summary>

**Identity**

- `attributes`: `["id", "slug"]`
- `scope`: `"provider"`

**Endpoint**

- `attributes`: `["id", "slug", "name"]`

</details>

</details>

<details>
<summary><code>grafana.rule.cloud-stack</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/platform/cloud-stacks.rf.hcl#L1-L16">Source</a></summary>

<div id="rule-cloud-stack"></div>

Matches `resource` instances of `grafana_cloud_stack`.

**Classification:** [`grafana.concept.observability-tenant`](#grafana-concept-observability-tenant).

<details>
<summary>Conditions, identity and resolution</summary>

**Identity**

- `attributes`: `["id", "slug"]`
- `scope`: `"provider"`

**Endpoint**

- `attributes`: `["id", "slug", "name"]`

</details>

</details>

<details>
<summary><code>grafana.rule.connections-metrics-endpoint-scrape-job-lookup</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/telemetry/metrics-endpoints.rf.hcl#L29-L52">Source</a></summary>

<div id="rule-connections-metrics-endpoint-scrape-job-lookup"></div>

Matches `data` instances of `grafana_connections_metrics_endpoint_scrape_job`.

**Classification:** [`grafana.concept.metrics-scrape-job`](#grafana-concept-metrics-scrape-job).

**Contexts**

- [`grafana.context.ownership`](#grafana-context-ownership): targets [`grafana.concept.observability-tenant`](#grafana-concept-observability-tenant) through `source.stack_id`.

<details>
<summary>Conditions, identity and resolution</summary>

**Context through `source.stack_id`**

- `on_null`: `"indeterminate"`
- `on_empty`: `"indeterminate"`
- `external`: `"allow"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

</details>

</details>

<details>
<summary><code>grafana.rule.connections-metrics-endpoint-scrape-job</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/telemetry/metrics-endpoints.rf.hcl#L5-L27">Source</a></summary>

<div id="rule-connections-metrics-endpoint-scrape-job"></div>

Matches `resource` instances of `grafana_connections_metrics_endpoint_scrape_job`.

**Classification:** [`grafana.concept.metrics-scrape-job`](#grafana-concept-metrics-scrape-job).

**Contexts**

- [`grafana.context.ownership`](#grafana-context-ownership): targets [`grafana.concept.observability-tenant`](#grafana-concept-observability-tenant) through `source.stack_id`.

<details>
<summary>Conditions, identity and resolution</summary>

**Context through `source.stack_id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `external`: `"allow"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

</details>

</details>

<details>
<summary><code>grafana.rule.data-source-lookup</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/telemetry/data-sources.rf.hcl#L50-L94">Source</a></summary>

<div id="rule-data-source-lookup"></div>

Matches `data` instances of `grafana_data_source`.

**Classification:** [`grafana.concept.data-source`](#grafana-concept-data-source).

**Contexts**

- [`grafana.context.ownership`](#grafana-context-ownership): targets [`grafana.concept.observability-tenant`](#grafana-concept-observability-tenant) through `source.org_id`.

**Relations**

- [`grafana.relation.connects-through`](#grafana-relation-connects-through): targets [`grafana.concept.private-data-source-connect-network`](#grafana-concept-private-data-source-connect-network) through `source.private_data_source_connect_network_id`.

<details>
<summary>Conditions, identity and resolution</summary>

**Identity**

- `attributes`: `["id", "uid"]`
- `scope`: `"provider"`

**Endpoint**

- `attributes`: `["id", "uid"]`

**Context through `source.org_id`**

- `on_null`: `"indeterminate"`
- `on_empty`: `"indeterminate"`
- `external`: `"allow"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

**Relation through `source.private_data_source_connect_network_id`**

- `on_null`: `"indeterminate"`
- `on_empty`: `"indeterminate"`
- `match.by`: `target.pdc_network_id`
- `match.strategy`: `"exact"`

</details>

</details>

<details>
<summary><code>grafana.rule.data-source</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/telemetry/data-sources.rf.hcl#L5-L48">Source</a></summary>

<div id="rule-data-source"></div>

Matches `resource` instances of `grafana_data_source`.

**Classification:** [`grafana.concept.data-source`](#grafana-concept-data-source).

**Contexts**

- [`grafana.context.ownership`](#grafana-context-ownership): targets [`grafana.concept.observability-tenant`](#grafana-concept-observability-tenant) through `source.org_id`.

**Relations**

- [`grafana.relation.connects-through`](#grafana-relation-connects-through): targets [`grafana.concept.private-data-source-connect-network`](#grafana-concept-private-data-source-connect-network) through `source.private_data_source_connect_network_id`.

<details>
<summary>Conditions, identity and resolution</summary>

**Identity**

- `attributes`: `["id", "uid"]`
- `scope`: `"provider"`

**Endpoint**

- `attributes`: `["id", "uid"]`

**Context through `source.org_id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `external`: `"allow"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

**Relation through `source.private_data_source_connect_network_id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `match.by`: `target.pdc_network_id`
- `match.strategy`: `"exact"`

</details>

</details>

<details>
<summary><code>grafana.rule.fleet-management-collector-lookup</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/telemetry/fleet-management.rf.hcl#L14-L21">Source</a></summary>

<div id="rule-fleet-management-collector-lookup"></div>

Matches `data` instances of `grafana_fleet_management_collector`.

**Classification:** [`grafana.concept.telemetry-collector`](#grafana-concept-telemetry-collector).

</details>

<details>
<summary><code>grafana.rule.fleet-management-collector</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/telemetry/fleet-management.rf.hcl#L6-L12">Source</a></summary>

<div id="rule-fleet-management-collector"></div>

Matches `resource` instances of `grafana_fleet_management_collector`.

**Classification:** [`grafana.concept.telemetry-collector`](#grafana-concept-telemetry-collector).

</details>

<details>
<summary><code>grafana.rule.frontend-o11y-app-lookup</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/digital-experience/frontend-observability.rf.hcl#L25-L48">Source</a></summary>

<div id="rule-frontend-o11y-app-lookup"></div>

Matches `data` instances of `grafana_frontend_o11y_app`.

**Classification:** [`grafana.concept.browser-observability-application`](#grafana-concept-browser-observability-application).

**Contexts**

- [`grafana.context.ownership`](#grafana-context-ownership): targets [`grafana.concept.observability-tenant`](#grafana-concept-observability-tenant) through `source.stack_id`.

<details>
<summary>Conditions, identity and resolution</summary>

**Context through `source.stack_id`**

- `on_null`: `"indeterminate"`
- `on_empty`: `"indeterminate"`
- `external`: `"allow"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

</details>

</details>

<details>
<summary><code>grafana.rule.frontend-o11y-app</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/digital-experience/frontend-observability.rf.hcl#L1-L23">Source</a></summary>

<div id="rule-frontend-o11y-app"></div>

Matches `resource` instances of `grafana_frontend_o11y_app`.

**Classification:** [`grafana.concept.browser-observability-application`](#grafana-concept-browser-observability-application).

**Contexts**

- [`grafana.context.ownership`](#grafana-context-ownership): targets [`grafana.concept.observability-tenant`](#grafana-concept-observability-tenant) through `source.stack_id`.

<details>
<summary>Conditions, identity and resolution</summary>

**Context through `source.stack_id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `external`: `"allow"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

</details>

</details>

<details>
<summary><code>grafana.rule.k6-installation</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/platform/installations.rf.hcl#L60-L81">Source</a></summary>

<div id="rule-k6-installation"></div>

Matches `resource` instances of `grafana_k6_installation`.

**Classification:** [`grafana.concept.platform-installation`](#grafana-concept-platform-installation).

**Contributions**

- targets [`grafana.concept.observability-tenant`](#grafana-concept-observability-tenant) through `source.stack_id`.

<details>
<summary>Conditions, identity and resolution</summary>

**Contribution through `source.stack_id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `external`: `"allow"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

</details>

</details>

<details>
<summary><code>grafana.rule.k6-load-test-lookup</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/performance-testing/k6.rf.hcl#L29-L48">Source</a></summary>

<div id="rule-k6-load-test-lookup"></div>

Matches `data` instances of `grafana_k6_load_test`.

**Classification:** [`grafana.concept.performance-test`](#grafana-concept-performance-test).

**Contributions**

- targets [`grafana.concept.performance-testing-project`](#grafana-concept-performance-testing-project) through `source.project_id`.

<details>
<summary>Conditions, identity and resolution</summary>

**Contribution through `source.project_id`**

- `on_null`: `"indeterminate"`
- `on_empty`: `"indeterminate"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

</details>

</details>

<details>
<summary><code>grafana.rule.k6-load-test</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/performance-testing/k6.rf.hcl#L9-L27">Source</a></summary>

<div id="rule-k6-load-test"></div>

Matches `resource` instances of `grafana_k6_load_test`.

**Classification:** [`grafana.concept.performance-test`](#grafana-concept-performance-test).

**Contributions**

- targets [`grafana.concept.performance-testing-project`](#grafana-concept-performance-testing-project) through `source.project_id`.

<details>
<summary>Conditions, identity and resolution</summary>

**Contribution through `source.project_id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

</details>

</details>

<details>
<summary><code>grafana.rule.k6-project-lookup</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/performance-testing/k6.rf.hcl#L67-L83">Source</a></summary>

<div id="rule-k6-project-lookup"></div>

Matches `data` instances of `grafana_k6_project`.

**Classification:** [`grafana.concept.performance-testing-project`](#grafana-concept-performance-testing-project).

<details>
<summary>Conditions, identity and resolution</summary>

**Identity**

- `attributes`: `["id"]`
- `scope`: `"provider"`

**Endpoint**

- `attributes`: `["id"]`

</details>

</details>

<details>
<summary><code>grafana.rule.k6-project</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/performance-testing/k6.rf.hcl#L50-L65">Source</a></summary>

<div id="rule-k6-project"></div>

Matches `resource` instances of `grafana_k6_project`.

**Classification:** [`grafana.concept.performance-testing-project`](#grafana-concept-performance-testing-project).

<details>
<summary>Conditions, identity and resolution</summary>

**Identity**

- `attributes`: `["id"]`
- `scope`: `"provider"`

**Endpoint**

- `attributes`: `["id"]`

</details>

</details>

<details>
<summary><code>grafana.rule.machine-learning-alert</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/ai-ml/machine-learning.rf.hcl#L5-L11">Source</a></summary>

<div id="rule-machine-learning-alert"></div>

Matches `resource` instances of `grafana_machine_learning_alert`.

**Classification:** [`grafana.concept.machine-learning-configuration`](#grafana-concept-machine-learning-configuration).

</details>

<details>
<summary><code>grafana.rule.machine-learning-job</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/ai-ml/machine-learning.rf.hcl#L13-L19">Source</a></summary>

<div id="rule-machine-learning-job"></div>

Matches `resource` instances of `grafana_machine_learning_job`.

**Classification:** [`grafana.concept.machine-learning-configuration`](#grafana-concept-machine-learning-configuration).

</details>

<details>
<summary><code>grafana.rule.machine-learning-outlier-detector</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/ai-ml/machine-learning.rf.hcl#L21-L27">Source</a></summary>

<div id="rule-machine-learning-outlier-detector"></div>

Matches `resource` instances of `grafana_machine_learning_outlier_detector`.

**Classification:** [`grafana.concept.machine-learning-configuration`](#grafana-concept-machine-learning-configuration).

</details>

<details>
<summary><code>grafana.rule.oncall-integration-lookup</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/incident-response/oncall.rf.hcl#L26-L42">Source</a></summary>

<div id="rule-oncall-integration-lookup"></div>

Matches `data` instances of `grafana_oncall_integration`.

**Classification:** [`grafana.concept.oncall-integration`](#grafana-concept-oncall-integration).

<details>
<summary>Conditions, identity and resolution</summary>

**Identity**

- `attributes`: `["id"]`
- `scope`: `"provider"`

**Endpoint**

- `attributes`: `["id"]`

</details>

</details>

<details>
<summary><code>grafana.rule.oncall-integration</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/incident-response/oncall.rf.hcl#L9-L24">Source</a></summary>

<div id="rule-oncall-integration"></div>

Matches `resource` instances of `grafana_oncall_integration`.

**Classification:** [`grafana.concept.oncall-integration`](#grafana-concept-oncall-integration).

<details>
<summary>Conditions, identity and resolution</summary>

**Identity**

- `attributes`: `["id"]`
- `scope`: `"provider"`

**Endpoint**

- `attributes`: `["id"]`

</details>

</details>

<details>
<summary><code>grafana.rule.oncall-route</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/incident-response/oncall.rf.hcl#L44-L62">Source</a></summary>

<div id="rule-oncall-route"></div>

Matches `resource` instances of `grafana_oncall_route`.

**Classification:** [`grafana.concept.oncall-routing`](#grafana-concept-oncall-routing).

**Contributions**

- targets [`grafana.concept.oncall-integration`](#grafana-concept-oncall-integration) through `source.integration_id`.

<details>
<summary>Conditions, identity and resolution</summary>

**Contribution through `source.integration_id`**

- `on_null`: `"indeterminate"`
- `on_empty`: `"indeterminate"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

</details>

</details>

<details>
<summary><code>grafana.rule.organization-lookup</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/platform/organizations.rf.hcl#L18-L34">Source</a></summary>

<div id="rule-organization-lookup"></div>

Matches `data` instances of `grafana_organization`.

**Classification:** [`grafana.concept.observability-tenant`](#grafana-concept-observability-tenant).

<details>
<summary>Conditions, identity and resolution</summary>

**Identity**

- `attributes`: `["id", "name"]`
- `scope`: `"provider"`

**Endpoint**

- `attributes`: `["id", "name"]`

</details>

</details>

<details>
<summary><code>grafana.rule.organization</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/platform/organizations.rf.hcl#L1-L16">Source</a></summary>

<div id="rule-organization"></div>

Matches `resource` instances of `grafana_organization`.

**Classification:** [`grafana.concept.observability-tenant`](#grafana-concept-observability-tenant).

<details>
<summary>Conditions, identity and resolution</summary>

**Identity**

- `attributes`: `["id", "org_id"]`
- `scope`: `"provider"`

**Endpoint**

- `attributes`: `["id", "org_id", "name"]`

</details>

</details>

<details>
<summary><code>grafana.rule.scim-config</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/identity-access/federation.rf.hcl#L5-L11">Source</a></summary>

<div id="rule-scim-config"></div>

Matches `resource` instances of `grafana_scim_config`.

**Classification:** [`grafana.concept.identity-configuration`](#grafana-concept-identity-configuration).

</details>

<details>
<summary><code>grafana.rule.sso-settings</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/identity-access/federation.rf.hcl#L13-L19">Source</a></summary>

<div id="rule-sso-settings"></div>

Matches `resource` instances of `grafana_sso_settings`.

**Classification:** [`grafana.concept.identity-configuration`](#grafana-concept-identity-configuration).

</details>

<details>
<summary><code>grafana.rule.synthetic-monitoring-check</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/digital-experience/synthetic-monitoring.rf.hcl#L1-L19">Source</a></summary>

<div id="rule-synthetic-monitoring-check"></div>

Matches `resource` instances of `grafana_synthetic_monitoring_check`.

**Classification:** [`grafana.concept.synthetic-check`](#grafana-concept-synthetic-check).

**Contributions**

- targets [`grafana.concept.synthetic-execution-location`](#grafana-concept-synthetic-execution-location) through `source.probes`.

<details>
<summary>Conditions, identity and resolution</summary>

**Contribution through `source.probes`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

</details>

</details>

<details>
<summary><code>grafana.rule.synthetic-monitoring-installation</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/platform/installations.rf.hcl#L83-L104">Source</a></summary>

<div id="rule-synthetic-monitoring-installation"></div>

Matches `resource` instances of `grafana_synthetic_monitoring_installation`.

**Classification:** [`grafana.concept.platform-installation`](#grafana-concept-platform-installation).

**Contributions**

- targets [`grafana.concept.observability-tenant`](#grafana-concept-observability-tenant) through `source.stack_id`.

<details>
<summary>Conditions, identity and resolution</summary>

**Contribution through `source.stack_id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `external`: `"allow"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

</details>

</details>

<details>
<summary><code>grafana.rule.synthetic-monitoring-probe-lookup</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/digital-experience/synthetic-monitoring.rf.hcl#L38-L54">Source</a></summary>

<div id="rule-synthetic-monitoring-probe-lookup"></div>

Matches `data` instances of `grafana_synthetic_monitoring_probe`.

**Classification:** [`grafana.concept.synthetic-execution-location`](#grafana-concept-synthetic-execution-location).

<details>
<summary>Conditions, identity and resolution</summary>

**Identity**

- `attributes`: `["id"]`
- `scope`: `"provider"`

**Endpoint**

- `attributes`: `["id"]`

</details>

</details>

<details>
<summary><code>grafana.rule.synthetic-monitoring-probe</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/grafana/digital-experience/synthetic-monitoring.rf.hcl#L21-L36">Source</a></summary>

<div id="rule-synthetic-monitoring-probe"></div>

Matches `resource` instances of `grafana_synthetic_monitoring_probe`.

**Classification:** [`grafana.concept.synthetic-execution-location`](#grafana-concept-synthetic-execution-location).

<details>
<summary>Conditions, identity and resolution</summary>

**Identity**

- `attributes`: `["id"]`
- `scope`: `"provider"`

**Endpoint**

- `attributes`: `["id"]`

</details>

</details>
