@@ -2,6 +2,7 @@ package sysdig
22
33import (
44 "context"
5+ "fmt"
56 "github.com/draios/terraform-provider-sysdig/sysdig/monitor/model"
67 "github.com/hashicorp/terraform-plugin-sdk/v2/diag"
78 "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
@@ -228,7 +229,7 @@ func panelsFromResourceData(data *schema.ResourceData) (panels []*model.Panels,
228229 case "number" :
229230 panelType = model .PanelTypeNumber
230231 default :
231- panic ( "unreachable code" )
232+ return nil , fmt . Errorf ( "unsupported panel type %s" , panelInfo [ "type" ] )
232233 }
233234
234235 panel := model .NewPanel (panelInfo ["name" ].(string ), panelInfo ["description" ].(string ), panelType )
@@ -238,7 +239,11 @@ func panelsFromResourceData(data *schema.ResourceData) (panels []*model.Panels,
238239 return nil , err
239240 }
240241
241- queries := queriesFromResourceData (panelInfo , panel )
242+ queries , err := queriesFromResourceData (panelInfo , panel )
243+ if err != nil {
244+ return nil , err
245+ }
246+
242247 _ , err = panel .AddQueries (queries ... )
243248 if err != nil {
244249 return nil , err
@@ -249,7 +254,7 @@ func panelsFromResourceData(data *schema.ResourceData) (panels []*model.Panels,
249254 return
250255}
251256
252- func queriesFromResourceData (panelInfo map [string ]interface {}, panel * model.Panels ) (newQueries []* model.AdvancedQueries ) {
257+ func queriesFromResourceData (panelInfo map [string ]interface {}, panel * model.Panels ) (newQueries []* model.AdvancedQueries , err error ) {
253258 for _ , queryItr := range panelInfo ["query" ].(* schema.Set ).List () {
254259 queryInfo := queryItr .(map [string ]interface {})
255260
@@ -269,7 +274,7 @@ func queriesFromResourceData(panelInfo map[string]interface{}, panel *model.Pane
269274 case "time" :
270275 promqlQuery .WithTimeFormat ()
271276 default :
272- panic ( "unreachable code" )
277+ return nil , fmt . Errorf ( "unsupported query format unit: %s" , queryInfo [ "unit" ] )
273278 }
274279
275280 newQueries = append (newQueries , promqlQuery )
@@ -302,7 +307,7 @@ func dashboardToResourceData(dashboard *model.Dashboard, data *schema.ResourceDa
302307 case model .FormatUnitTime :
303308 unit = "time"
304309 default :
305- panic ( "unreachable code" )
310+ return fmt . Errorf ( "unsupported query format unit: %s" , query . Format . Unit )
306311 }
307312
308313 queries = append (queries , map [string ]interface {}{
@@ -326,7 +331,7 @@ func dashboardToResourceData(dashboard *model.Dashboard, data *schema.ResourceDa
326331 case model .PanelTypeNumber :
327332 panelType = "number"
328333 default :
329- panic ( "unreachable code" )
334+ return fmt . Errorf ( "unsupported panel type %s" , panel . Type )
330335 }
331336
332337 panels = append (panels , map [string ]interface {}{
0 commit comments