From 4cb838e28774d0755cb6f1b147c516ad0fdf55ce Mon Sep 17 00:00:00 2001 From: Jochen Rauschenbusch Date: Wed, 13 May 2020 16:56:46 +0200 Subject: [PATCH] fix: nil pointer dereference --- .../services/kusto/kusto_database_resource.go | 28 ++++++++++--------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/azurerm/internal/services/kusto/kusto_database_resource.go b/azurerm/internal/services/kusto/kusto_database_resource.go index bd6217c95b30..18e13237e60f 100644 --- a/azurerm/internal/services/kusto/kusto_database_resource.go +++ b/azurerm/internal/services/kusto/kusto_database_resource.go @@ -94,9 +94,11 @@ func resourceArmKustoDatabaseCreateUpdate(d *schema.ResourceData, meta interface } } - database, _ := resp.Value.AsDatabase() - if database.ID != nil && *database.ID != "" { - return tf.ImportAsExistsError("azurerm_kusto_database", *database.ID) + if resp.Value != nil { + database, _ := resp.Value.AsDatabase() + if database.ID != nil && *database.ID != "" { + return tf.ImportAsExistsError("azurerm_kusto_database", *database.ID) + } } } @@ -112,21 +114,21 @@ func resourceArmKustoDatabaseCreateUpdate(d *schema.ResourceData, meta interface future, err := client.CreateOrUpdate(ctx, resourceGroup, clusterName, name, kustoDatabase) if err != nil { - return fmt.Errorf("Error creating or updating Kusto Cluster %q (Resource Group %q, Cluster %q): %+v", name, resourceGroup, clusterName, err) + return fmt.Errorf("Error creating or updating Kusto Database %q (Resource Group %q, Cluster %q): %+v", name, resourceGroup, clusterName, err) } if err = future.WaitForCompletionRef(ctx, client.Client); err != nil { - return fmt.Errorf("Error waiting for completion of Kusto Cluster %q (Resource Group %q, Cluster %q): %+v", name, resourceGroup, clusterName, err) + return fmt.Errorf("Error waiting for completion of Kusto Database %q (Resource Group %q, Cluster %q): %+v", name, resourceGroup, clusterName, err) } - resp, getDetailsErr := client.Get(ctx, resourceGroup, clusterName, name) - if getDetailsErr != nil { - return fmt.Errorf("Error retrieving Kusto Cluster %q (Resource Group %q, Cluster %q): %+v", name, resourceGroup, clusterName, err) + resp, err := client.Get(ctx, resourceGroup, clusterName, name) + if err != nil { + return fmt.Errorf("Error retrieving Kusto Database %q (Resource Group %q, Cluster %q): %+v", name, resourceGroup, clusterName, err) } database, _ := resp.Value.AsDatabase() if database.ID == nil { - return fmt.Errorf("Cannot read ID for Kusto Cluster %q (Resource Group %q, Cluster %q)", name, resourceGroup, clusterName) + return fmt.Errorf("Cannot read ID for Kusto Database %q (Resource Group %q, Cluster %q)", name, resourceGroup, clusterName) } d.SetId(*database.ID) @@ -144,10 +146,10 @@ func resourceArmKustoDatabaseRead(d *schema.ResourceData, meta interface{}) erro return err } - databaseResponse, err := client.Get(ctx, id.ResourceGroup, id.Cluster, id.Name) + databaseModel, err := client.Get(ctx, id.ResourceGroup, id.Cluster, id.Name) if err != nil { - if utils.ResponseWasNotFound(databaseResponse.Response) { + if utils.ResponseWasNotFound(databaseModel.Response) { d.SetId("") return nil } @@ -158,11 +160,11 @@ func resourceArmKustoDatabaseRead(d *schema.ResourceData, meta interface{}) erro d.Set("resource_group_name", id.ResourceGroup) d.Set("cluster_name", id.Cluster) - if location := databaseResponse.Location; location != nil { + if location := databaseModel.Location; location != nil { d.Set("location", azure.NormalizeLocation(location)) } - database, _ := databaseResponse.Value.AsReadWriteDatabase() + database, _ := databaseModel.Value.AsReadWriteDatabase() if props := database.ReadWriteDatabaseProperties; props != nil { d.Set("hot_cache_period", props.HotCachePeriod) d.Set("soft_delete_period", props.SoftDeletePeriod)