0
0
mirror of https://github.com/bpg/terraform-provider-proxmox.git synced 2025-08-22 19:38:35 +00:00

chore(vm)!: remove deprecated initialization.dns.server, initialization.upgrade (#1884)

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
This commit is contained in:
Pavel Boldyrev 2025-04-07 14:39:26 -04:00 committed by GitHub
parent d01bcf4fac
commit 51e6d7b8db
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 2 additions and 45 deletions

View File

@ -80,7 +80,6 @@ const (
dvInitializationDatastoreID = "local-lvm" dvInitializationDatastoreID = "local-lvm"
dvInitializationInterface = "" dvInitializationInterface = ""
dvInitializationDNSDomain = "" dvInitializationDNSDomain = ""
dvInitializationDNSServer = ""
dvInitializationIPConfigIPv4Address = "" dvInitializationIPConfigIPv4Address = ""
dvInitializationIPConfigIPv4Gateway = "" dvInitializationIPConfigIPv4Gateway = ""
dvInitializationIPConfigIPv6Address = "" dvInitializationIPConfigIPv6Address = ""
@ -211,7 +210,6 @@ const (
mkInitializationInterface = "interface" mkInitializationInterface = "interface"
mkInitializationDNS = "dns" mkInitializationDNS = "dns"
mkInitializationDNSDomain = "domain" mkInitializationDNSDomain = "domain"
mkInitializationDNSServer = "server"
mkInitializationDNSServers = "servers" mkInitializationDNSServers = "servers"
mkInitializationIPConfig = "ip_config" mkInitializationIPConfig = "ip_config"
mkInitializationIPConfigIPv4 = "ipv4" mkInitializationIPConfigIPv4 = "ipv4"
@ -229,7 +227,6 @@ const (
mkInitializationVendorDataFileID = "vendor_data_file_id" mkInitializationVendorDataFileID = "vendor_data_file_id"
mkInitializationNetworkDataFileID = "network_data_file_id" mkInitializationNetworkDataFileID = "network_data_file_id"
mkInitializationMetaDataFileID = "meta_data_file_id" mkInitializationMetaDataFileID = "meta_data_file_id"
mkInitializationUpgrade = "upgrade"
mkKeyboardLayout = "keyboard_layout" mkKeyboardLayout = "keyboard_layout"
mkKVMArguments = "kvm_arguments" mkKVMArguments = "kvm_arguments"
@ -764,14 +761,6 @@ func VM() *schema.Resource {
Optional: true, Optional: true,
Default: dvInitializationDNSDomain, Default: dvInitializationDNSDomain,
}, },
mkInitializationDNSServer: {
Type: schema.TypeString,
Description: "The DNS server",
Deprecated: "The `server` attribute is deprecated and will be removed in a future release. " +
"Please use the `servers` attribute instead.",
Optional: true,
Default: dvInitializationDNSServer,
},
mkInitializationDNSServers: { mkInitializationDNSServers: {
Type: schema.TypeList, Type: schema.TypeList,
Description: "The list of DNS servers", Description: "The list of DNS servers",
@ -930,13 +919,6 @@ func VM() *schema.Resource {
Default: dvInitializationType, Default: dvInitializationType,
ValidateDiagFunc: CloudInitTypeValidator(), ValidateDiagFunc: CloudInitTypeValidator(),
}, },
mkInitializationUpgrade: {
Type: schema.TypeBool,
Description: "Whether to do an automatic package upgrade after the first boot",
Optional: true,
Computed: true,
Deprecated: "The `upgrade` attribute is deprecated and will be removed in a future release.",
},
}, },
}, },
MaxItems: 1, MaxItems: 1,
@ -2874,14 +2856,11 @@ func vmGetCloudInitConfig(d *schema.ResourceData) *vms.CustomCloudInitConfig {
} }
servers := initializationDNSBlock[mkInitializationDNSServers].([]interface{}) servers := initializationDNSBlock[mkInitializationDNSServers].([]interface{})
deprecatedServer := initializationDNSBlock[mkInitializationDNSServer].(string)
if len(servers) > 0 { if len(servers) > 0 {
nameserver := strings.Join(utils.ConvertToStringSlice(servers), " ") nameserver := strings.Join(utils.ConvertToStringSlice(servers), " ")
initializationConfig.Nameserver = &nameserver initializationConfig.Nameserver = &nameserver
} else if deprecatedServer != "" {
initializationConfig.Nameserver = &deprecatedServer
} }
} }
@ -3988,30 +3967,10 @@ func vmReadCustom(
initializationDNS[mkInitializationDNSDomain] = "" initializationDNS[mkInitializationDNSDomain] = ""
} }
// check what we have in the plan
currentInitializationDNSBlock := map[string]interface{}{}
currentInitialization := d.Get(mkInitialization).([]interface{})
if len(currentInitialization) > 0 && currentInitialization[0] != nil {
currentInitializationBlock := currentInitialization[0].(map[string]interface{})
currentInitializationDNS := currentInitializationBlock[mkInitializationDNS].([]interface{})
if len(currentInitializationDNS) > 0 && currentInitializationDNS[0] != nil {
currentInitializationDNSBlock = currentInitializationDNS[0].(map[string]interface{})
}
}
currentInitializationDNSServer, ok := currentInitializationDNSBlock[mkInitializationDNSServer]
if vmConfig.CloudInitDNSServer != nil { if vmConfig.CloudInitDNSServer != nil {
if ok && currentInitializationDNSServer != "" {
// the template is using deprecated attribute mkInitializationDNSServer
initializationDNS[mkInitializationDNSServer] = *vmConfig.CloudInitDNSServer
} else {
dnsServer := strings.Split(*vmConfig.CloudInitDNSServer, " ") dnsServer := strings.Split(*vmConfig.CloudInitDNSServer, " ")
initializationDNS[mkInitializationDNSServers] = dnsServer initializationDNS[mkInitializationDNSServers] = dnsServer
}
} else { } else {
initializationDNS[mkInitializationDNSServer] = ""
initializationDNS[mkInitializationDNSServers] = []string{} initializationDNS[mkInitializationDNSServers] = []string{}
} }

View File

@ -251,13 +251,11 @@ func TestVMSchema(t *testing.T) {
test.AssertOptionalArguments(t, initializationDNSSchema, []string{ test.AssertOptionalArguments(t, initializationDNSSchema, []string{
mkInitializationDNSDomain, mkInitializationDNSDomain,
mkInitializationDNSServer,
mkInitializationDNSServers, mkInitializationDNSServers,
}) })
test.AssertValueTypes(t, initializationDNSSchema, map[string]schema.ValueType{ test.AssertValueTypes(t, initializationDNSSchema, map[string]schema.ValueType{
mkInitializationDNSDomain: schema.TypeString, mkInitializationDNSDomain: schema.TypeString,
mkInitializationDNSServer: schema.TypeString,
mkInitializationDNSServers: schema.TypeList, mkInitializationDNSServers: schema.TypeList,
}) })