Skip to content

Commit

Permalink
mssql: fix persistent diff with azurerm_mssql_virtual_machine.storage…
Browse files Browse the repository at this point in the history
…_configuration block
  • Loading branch information
manicminer committed Jan 11, 2021
1 parent 8d676fc commit db3f458
Showing 1 changed file with 28 additions and 10 deletions.
38 changes: 28 additions & 10 deletions azurerm/internal/services/mssql/mssql_virtual_machine_resource.go
Original file line number Diff line number Diff line change
Expand Up @@ -486,15 +486,33 @@ func flattenSqlVirtualMachineStorageConfigurationSettings(input *sqlvirtualmachi
return []interface{}{}
}

return []interface{}{
map[string]interface{}{
"disk_type": string(input.DiskConfigurationType),
"storage_workload_type": storageWorkloadType,
"data_settings": flattenSqlVirtualMachineStorageSettings(input.SQLDataSettings),
"log_settings": flattenSqlVirtualMachineStorageSettings(input.SQLLogSettings),
"temp_db_settings": flattenSqlVirtualMachineStorageSettings(input.SQLTempDbSettings),
},
output := make(map[string]interface{})

if v := string(input.DiskConfigurationType); v != "" {
output["disk_type"] = v
}

if storageWorkloadType != "" {
output["storage_workload_type"] = storageWorkloadType
}

if v := flattenSqlVirtualMachineStorageSettings(input.SQLDataSettings); v != nil && len(v) > 0 {
output["data_settings"] = v
}

if v := flattenSqlVirtualMachineStorageSettings(input.SQLLogSettings); v != nil && len(v) > 0 {
output["log_settings"] = v
}

if v := flattenSqlVirtualMachineStorageSettings(input.SQLTempDbSettings); v != nil && len(v) > 0 {
output["temp_db_settings"] = v
}

if len(output) == 0 {
return []interface{}{}
}

return []interface{}{output}
}

func expandSqlVirtualMachineDataStorageSettings(input []interface{}) *sqlvirtualmachine.SQLStorageSettings {
Expand All @@ -510,10 +528,10 @@ func expandSqlVirtualMachineDataStorageSettings(input []interface{}) *sqlvirtual
}

func expandSqlVirtualMachineStorageSettingsLuns(input []interface{}) *[]int32 {
expandedLuns := make([]int32, len(input))
expandedLuns := make([]int32, 0, len(input))
for i := range input {
if input[i] != nil {
expandedLuns[i] = int32(input[i].(int))
expandedLuns = append(expandedLuns, int32(input[i].(int)))
}
}

Expand Down

0 comments on commit db3f458

Please sign in to comment.