0
0
mirror of https://github.com/bpg/terraform-provider-proxmox.git synced 2025-07-05 05:24:01 +00:00

fix(vm): panic on empty initialization.dns block (#928)

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
This commit is contained in:
Pavel Boldyrev 2024-01-17 21:57:52 -05:00 committed by GitHub
parent f20b4d1f39
commit e5bccbc53d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -3092,17 +3092,21 @@ func vmGetAudioDriverValidator() schema.SchemaValidateDiagFunc {
}, false)) }, false))
} }
//nolint:lll
func vmGetCloudInitConfig(d *schema.ResourceData) *vms.CustomCloudInitConfig { func vmGetCloudInitConfig(d *schema.ResourceData) *vms.CustomCloudInitConfig {
var initializationConfig *vms.CustomCloudInitConfig
initialization := d.Get(mkResourceVirtualEnvironmentVMInitialization).([]interface{}) initialization := d.Get(mkResourceVirtualEnvironmentVMInitialization).([]interface{})
if len(initialization) > 0 { if len(initialization) == 0 || initialization[0] == nil {
return nil
}
var initializationConfig *vms.CustomCloudInitConfig
initializationBlock := initialization[0].(map[string]interface{}) initializationBlock := initialization[0].(map[string]interface{})
initializationConfig = &vms.CustomCloudInitConfig{} initializationConfig = &vms.CustomCloudInitConfig{}
initializationDNS := initializationBlock[mkResourceVirtualEnvironmentVMInitializationDNS].([]interface{}) initializationDNS := initializationBlock[mkResourceVirtualEnvironmentVMInitializationDNS].([]interface{})
if len(initializationDNS) > 0 { if len(initializationDNS) > 0 && initializationDNS[0] != nil {
initializationDNSBlock := initializationDNS[0].(map[string]interface{}) initializationDNSBlock := initializationDNS[0].(map[string]interface{})
domain := initializationDNSBlock[mkResourceVirtualEnvironmentVMInitializationDNSDomain].(string) domain := initializationDNSBlock[mkResourceVirtualEnvironmentVMInitializationDNSDomain].(string)
@ -3236,7 +3240,6 @@ func vmGetCloudInitConfig(d *schema.ResourceData) *vms.CustomCloudInitConfig {
if initializationType != "" { if initializationType != "" {
initializationConfig.Type = &initializationType initializationConfig.Type = &initializationType
} }
}
return initializationConfig return initializationConfig
} }