Skip to content

Commit

Permalink
fix: nil pointer dereference
Browse files Browse the repository at this point in the history
  • Loading branch information
jrauschenbusch committed May 13, 2020
1 parent 69f12dc commit 00111fe
Showing 1 changed file with 15 additions and 13 deletions.
28 changes: 15 additions & 13 deletions azurerm/internal/services/kusto/kusto_database_resource.go
Expand Up @@ -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)
}
}
}

Expand All @@ -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)
Expand All @@ -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
}
Expand All @@ -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)
Expand Down

0 comments on commit 00111fe

Please sign in to comment.