mirror of
https://github.com/bpg/terraform-provider-proxmox.git
synced 2025-07-05 21:43:59 +00:00
fix(vm,lxc): unexpected state drift when using initialization.dns.servers
(#844)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
This commit is contained in:
parent
86b2e6f41c
commit
ac923cd1b4
@ -2011,11 +2011,28 @@ func containerRead(ctx context.Context, d *schema.ResourceData, m interface{}) d
|
||||
initializationDNS[mkResourceVirtualEnvironmentContainerInitializationDNSDomain] = ""
|
||||
}
|
||||
|
||||
if containerConfig.DNSServer != nil {
|
||||
initializationDNS[mkResourceVirtualEnvironmentContainerInitializationDNSServer] = *containerConfig.DNSServer
|
||||
// check what we have in the plan
|
||||
currentInitializationDNSBlock := map[string]interface{}{}
|
||||
currentInitialization := d.Get(mkResourceVirtualEnvironmentContainerInitialization).([]interface{})
|
||||
|
||||
if len(currentInitialization) > 0 {
|
||||
currentInitializationBlock := currentInitialization[0].(map[string]interface{})
|
||||
//nolint:lll
|
||||
currentInitializationDNS := currentInitializationBlock[mkResourceVirtualEnvironmentContainerInitializationDNS].([]interface{})
|
||||
if len(currentInitializationDNS) > 0 {
|
||||
currentInitializationDNSBlock = currentInitializationDNS[0].(map[string]interface{})
|
||||
}
|
||||
}
|
||||
|
||||
//nolint:lll
|
||||
currentInitializationDNSServer, ok := currentInitializationDNSBlock[mkResourceVirtualEnvironmentContainerInitializationDNSServer]
|
||||
if containerConfig.DNSServer != nil {
|
||||
if ok && currentInitializationDNSServer != "" {
|
||||
initializationDNS[mkResourceVirtualEnvironmentContainerInitializationDNSServer] = *containerConfig.DNSServer
|
||||
} else {
|
||||
dnsServer := strings.Split(*containerConfig.DNSServer, " ")
|
||||
initializationDNS[mkResourceVirtualEnvironmentContainerInitializationDNSServers] = dnsServer
|
||||
}
|
||||
} else {
|
||||
initializationDNS[mkResourceVirtualEnvironmentContainerInitializationDNSServer] = ""
|
||||
initializationDNS[mkResourceVirtualEnvironmentContainerInitializationDNSServers] = []string{}
|
||||
|
@ -4481,11 +4481,29 @@ func vmReadCustom(
|
||||
initializationDNS[mkResourceVirtualEnvironmentVMInitializationDNSDomain] = ""
|
||||
}
|
||||
|
||||
if vmConfig.CloudInitDNSServer != nil {
|
||||
initializationDNS[mkResourceVirtualEnvironmentVMInitializationDNSServer] = *vmConfig.CloudInitDNSServer
|
||||
// check what we have in the plan
|
||||
currentInitializationDNSBlock := map[string]interface{}{}
|
||||
currentInitialization := d.Get(mkResourceVirtualEnvironmentVMInitialization).([]interface{})
|
||||
|
||||
if len(currentInitialization) > 0 {
|
||||
currentInitializationBlock := currentInitialization[0].(map[string]interface{})
|
||||
//nolint:lll
|
||||
currentInitializationDNS := currentInitializationBlock[mkResourceVirtualEnvironmentVMInitializationDNS].([]interface{})
|
||||
if len(currentInitializationDNS) > 0 {
|
||||
currentInitializationDNSBlock = currentInitializationDNS[0].(map[string]interface{})
|
||||
}
|
||||
}
|
||||
|
||||
//nolint:lll
|
||||
currentInitializationDNSServer, ok := currentInitializationDNSBlock[mkResourceVirtualEnvironmentVMInitializationDNSServer]
|
||||
if vmConfig.CloudInitDNSServer != nil {
|
||||
if ok && currentInitializationDNSServer != "" {
|
||||
// the template is using deprecated attribute mkResourceVirtualEnvironmentVMInitializationDNSServer
|
||||
initializationDNS[mkResourceVirtualEnvironmentVMInitializationDNSServer] = *vmConfig.CloudInitDNSServer
|
||||
} else {
|
||||
dnsServer := strings.Split(*vmConfig.CloudInitDNSServer, " ")
|
||||
initializationDNS[mkResourceVirtualEnvironmentVMInitializationDNSServers] = dnsServer
|
||||
}
|
||||
} else {
|
||||
initializationDNS[mkResourceVirtualEnvironmentVMInitializationDNSServer] = ""
|
||||
initializationDNS[mkResourceVirtualEnvironmentVMInitializationDNSServers] = []string{}
|
||||
|
Loading…
Reference in New Issue
Block a user