Skip to content

Commit 6f45742

Browse files
authored
Merge pull request #1359 from Tinyblargon/#1338
Fix: LXC import panic
2 parents 79d504e + c026a36 commit 6f45742

File tree

3 files changed

+11
-8
lines changed

3 files changed

+11
-8
lines changed

proxmox/Internal/resource/guest/node/schema.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
// Package node provides functions to handle PVE nodes for Guest systems in Terraform.
12
package node
23

34
import (

proxmox/Internal/resource/guest/node/sdk.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import (
99
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
1010
)
1111

12-
const error_NoNodeConfigured = "no target node specified"
12+
const errorNoNodeConfigured = "no target node specified"
1313

1414
func SdkUpdate(d *schema.ResourceData, current pveAPI.NodeName) (pveAPI.NodeName, error) {
1515
if node, ok := d.GetOk(RootNode); ok {
@@ -19,7 +19,7 @@ func SdkUpdate(d *schema.ResourceData, current pveAPI.NodeName) (pveAPI.NodeName
1919
currentNode := string(current)
2020
switch len(nodes) {
2121
case 0:
22-
return "", errors.New(error_NoNodeConfigured)
22+
return "", errors.New(errorNoNodeConfigured)
2323
case 1:
2424
if currentNode != nodes[0].(string) {
2525
return pveAPI.NodeName(nodes[0].(string)), nil
@@ -40,7 +40,7 @@ func SdkCreate(d *schema.ResourceData) (pveAPI.NodeName, error) {
4040
nodes := d.Get(RootNodes).(*schema.Set).List()
4141
switch len(nodes) {
4242
case 0:
43-
return "", errors.New(error_NoNodeConfigured)
43+
return "", errors.New(errorNoNodeConfigured)
4444
case 1:
4545
return pveAPI.NodeName(nodes[0].(string)), nil
4646
}

proxmox/Internal/resource/guest/node/terraform.go

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,12 @@ func Terraform(currentNode pveAPI.NodeName, d *schema.ResourceData) {
1212
d.Set(RootNode, current)
1313
return
1414
}
15-
nodes := d.Get(RootNodes).(*schema.Set).List()
16-
if inArray(nodes, current) {
17-
d.Set(RootNodes, nodes)
18-
return
15+
if v, ok := d.GetOk(RootNodes); ok && v != nil {
16+
nodes := v.(*schema.Set).List()
17+
if inArray(nodes, current) {
18+
d.Set(RootNodes, nodes)
19+
return
20+
}
1921
}
20-
d.Set(RootNodes, []interface{}{current})
22+
d.Set(RootNodes, []any{current})
2123
}

0 commit comments

Comments
 (0)