diff --git a/internal/services/dashboard/dashboard_grafana_data_source.go b/internal/services/dashboard/dashboard_grafana_data_source.go index a7e1029a30bf..263b55170487 100644 --- a/internal/services/dashboard/dashboard_grafana_data_source.go +++ b/internal/services/dashboard/dashboard_grafana_data_source.go @@ -159,12 +159,9 @@ func dataSourceDashboardGrafanaRead(d *pluginsdk.ResourceData, meta interface{}) d.Set("endpoint", properties.Endpoint) } - // TO-DO - /* - if properties.GrafanaIntegrations != nil && properties.GrafanaIntegrations.AzureMonitorWorkspaceIntegrations != nil { - d.Set("azure_monitor_workspace_integrations", flattenAzureMonitorWorkspaceIntegrationModelArray(properties.GrafanaIntegrations.AzureMonitorWorkspaceIntegrations)) - } - */ + if properties.GrafanaIntegrations != nil && properties.GrafanaIntegrations.AzureMonitorWorkspaceIntegrations != nil { + d.Set("azure_monitor_workspace_integrations", flattenAzureMonitorWorkspaceIntegrations(*properties.GrafanaIntegrations.AzureMonitorWorkspaceIntegrations)) + } if properties.GrafanaVersion != nil { d.Set("grafana_version", properties.GrafanaVersion) @@ -215,3 +212,18 @@ func dataSourceDashboardGrafanaRead(d *pluginsdk.ResourceData, meta interface{}) return nil } + +// AzureMonitorWorkspaceIntegration represents a struct for Azure Monitor Workspace Integration +type AzureMonitorWorkspaceIntegration struct { + AzureMonitorWorkspaceResourceId *string `json:"azureMonitorWorkspaceResourceId,omitempty"` +} + +func flattenAzureMonitorWorkspaceIntegrations(integrations []grafanaresource.AzureMonitorWorkspaceIntegration) []interface{} { + result := make([]interface{}, len(integrations)) + for i, integration := range integrations { + result[i] = map[string]interface{}{ + "resource_id": integration.AzureMonitorWorkspaceResourceId, + } + } + return result +} diff --git a/website/docs/d/dashboard_grafana.html.markdown b/website/docs/d/dashboard_grafana.html.markdown index b0f619ff6383..7b6689847f1f 100644 --- a/website/docs/d/dashboard_grafana.html.markdown +++ b/website/docs/d/dashboard_grafana.html.markdown @@ -43,7 +43,7 @@ The following attributes are exported: * `location` - Azure location where the resource exists. -* `api_key_enabled` - Whether tje api key setting of the Grafana instance is enabled. +* `api_key_enabled` - Whether the api key setting of the Grafana instance is enabled. * `auto_generated_domain_name_label_scope` - Scope for dns deterministic name hash calculation.