From 03304ff70c96ec206b7512ab568a1c60f03bbbd8 Mon Sep 17 00:00:00 2001 From: Julien Duchesne Date: Wed, 8 Mar 2023 22:51:18 -0500 Subject: [PATCH] Fix `library_panel` failing to be managed with API key (#844) * Fix `library_panel` failing to be managed with API key Fixes https://github.com/grafana/terraform-provider-grafana/issues/840 To be combined with https://github.com/grafana/grafana-api-golang-client/pull/136 * Update client --- go.mod | 2 +- go.sum | 4 ++-- internal/provider/provider.go | 6 +++++- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/go.mod b/go.mod index 3e74ee0d8..67392a3cc 100644 --- a/go.mod +++ b/go.mod @@ -5,7 +5,7 @@ go 1.18 require ( github.com/Masterminds/semver/v3 v3.2.0 github.com/grafana/amixr-api-go-client v0.0.7 - github.com/grafana/grafana-api-golang-client v0.18.3 + github.com/grafana/grafana-api-golang-client v0.18.4 github.com/grafana/machine-learning-go-client v0.4.0 github.com/grafana/synthetic-monitoring-agent v0.14.2 github.com/grafana/synthetic-monitoring-api-go-client v0.7.0 diff --git a/go.sum b/go.sum index f147a67fd..4168ccce0 100644 --- a/go.sum +++ b/go.sum @@ -72,8 +72,8 @@ github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/grafana/amixr-api-go-client v0.0.7 h1:U6W6yKxMMybI+Qz4zl+Vih48o6CczLaU/vjk2m7omvU= github.com/grafana/amixr-api-go-client v0.0.7/go.mod h1:N6x26XUrM5zGtK5zL5vNJnAn2JFMxLFPPLTw/6pDkFE= -github.com/grafana/grafana-api-golang-client v0.18.3 h1:z0AhbGG6suChLb8t2fADpEO9ckPWnweYPYoCW3WpF6k= -github.com/grafana/grafana-api-golang-client v0.18.3/go.mod h1:24W29gPe9yl0/3A9X624TPkAOR8DpHno490cPwnkv8E= +github.com/grafana/grafana-api-golang-client v0.18.4 h1:YpxmbG1OWssE1ko80Ixd/XioSrIqY/ZpwQ4h1D0xJ2E= +github.com/grafana/grafana-api-golang-client v0.18.4/go.mod h1:24W29gPe9yl0/3A9X624TPkAOR8DpHno490cPwnkv8E= github.com/grafana/machine-learning-go-client v0.4.0 h1:UAkJPE7xujzFTm0d9ctbX/FsCID8rqejWjnkRPGNM6E= github.com/grafana/machine-learning-go-client v0.4.0/go.mod h1:QFfZz8NkqVF8++skjkKQXJEZfpCYd8S0yTWJUpsLLTA= github.com/grafana/synthetic-monitoring-agent v0.14.2 h1:A7kjDAROcPeWKBm6JiICSKHqly99Mamo3RcFNhAr3ng= diff --git a/internal/provider/provider.go b/internal/provider/provider.go index efc09d568..dd82bc50e 100644 --- a/internal/provider/provider.go +++ b/internal/provider/provider.go @@ -376,10 +376,14 @@ func createGrafanaClient(d *schema.ResourceData) (string, *gapi.Config, *gapi.Cl Client: cli, NumRetries: d.Get("retries").(int), } + orgID := d.Get("org_id").(int) if len(auth) == 2 { cfg.BasicAuth = url.UserPassword(auth[0], auth[1]) - cfg.OrgID = int64(d.Get("org_id").(int)) + cfg.OrgID = int64(orgID) } else if auth[0] != "anonymous" { + if orgID > 1 { + return "", nil, nil, fmt.Errorf("org_id is only supported with basic auth. API keys are already org-scoped") + } cfg.APIKey = auth[0] }