From edd6cc8c6bfe42149a43a14de7c46958a599d6b6 Mon Sep 17 00:00:00 2001 From: Julien Duchesne Date: Fri, 26 Jul 2024 16:38:36 -0400 Subject: [PATCH] Datasource: Panic proof (#1723) Closes https://github.com/grafana/terraform-provider-grafana/issues/1722 There shouldn't be any cases where it panics now --- internal/resources/grafana/data_source_data_source.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/internal/resources/grafana/data_source_data_source.go b/internal/resources/grafana/data_source_data_source.go index c9988b491..e63324264 100644 --- a/internal/resources/grafana/data_source_data_source.go +++ b/internal/resources/grafana/data_source_data_source.go @@ -44,11 +44,17 @@ func datasourceDatasourceRead(ctx context.Context, d *schema.ResourceData, meta resp, err = client.Datasources.GetDataSourceByName(name.(string)) } else if uid, ok := d.GetOk("uid"); ok { resp, err = client.Datasources.GetDataSourceByUID(uid.(string)) + } else { + return diag.Errorf("name or uid must be set") } if err != nil { return diag.FromErr(err) } + if resp == nil { + return diag.Errorf("unexpected state, API response is nil") + } + return datasourceToState(d, resp.GetPayload()) }