mirror of
https://github.com/bpg/terraform-provider-proxmox.git
synced 2025-08-22 19:38:35 +00:00
fix(vm): add validation for node_name
values (#1659)
* fix(vm): add validation for `node_name` values Also, fix acceptance tests that now fail on PVE 8.3 --------- Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
This commit is contained in:
parent
44c1ac7988
commit
106bcd2ff9
@ -28,13 +28,13 @@ func TestAccDatasourceVersion(t *testing.T) {
|
|||||||
{
|
{
|
||||||
Config: `data "proxmox_virtual_environment_version" "test" {}`,
|
Config: `data "proxmox_virtual_environment_version" "test" {}`,
|
||||||
Check: resource.ComposeAggregateTestCheckFunc(
|
Check: resource.ComposeAggregateTestCheckFunc(
|
||||||
resource.TestCheckResourceAttr(datasourceName, "release", "8.2"),
|
resource.TestCheckResourceAttr(datasourceName, "release", "8.3"),
|
||||||
resource.TestCheckResourceAttrSet(datasourceName, "repository_id"),
|
resource.TestCheckResourceAttrSet(datasourceName, "repository_id"),
|
||||||
resource.TestCheckResourceAttrWith(datasourceName, "version", func(value string) error {
|
resource.TestCheckResourceAttrWith(datasourceName, "version", func(value string) error {
|
||||||
if strings.HasPrefix(value, "8.2") {
|
if strings.HasPrefix(value, "8.3") {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
return fmt.Errorf("version %s does not start with 8.2", value)
|
return fmt.Errorf("version %s does not start with 8.3", value)
|
||||||
}),
|
}),
|
||||||
resource.TestCheckResourceAttrSet(datasourceName, "id"),
|
resource.TestCheckResourceAttrSet(datasourceName, "id"),
|
||||||
),
|
),
|
||||||
|
@ -204,9 +204,9 @@ func TestAccResourceVMDisks(t *testing.T) {
|
|||||||
}`),
|
}`),
|
||||||
Check: ResourceAttributes("proxmox_virtual_environment_vm.test_disk", map[string]string{
|
Check: ResourceAttributes("proxmox_virtual_environment_vm.test_disk", map[string]string{
|
||||||
"disk.0.interface": "virtio0",
|
"disk.0.interface": "virtio0",
|
||||||
"disk.0.path_in_datastore": `vm-\d+-disk-1`,
|
"disk.0.path_in_datastore": `base-\d+-disk-1`,
|
||||||
"disk.1.interface": "scsi0",
|
"disk.1.interface": "scsi0",
|
||||||
"disk.1.path_in_datastore": `vm-\d+-disk-0`,
|
"disk.1.path_in_datastore": `base-\d+-disk-0`,
|
||||||
}),
|
}),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -431,7 +431,7 @@ func TestAccResourceVMDisks(t *testing.T) {
|
|||||||
"disk.0.file_format": "raw",
|
"disk.0.file_format": "raw",
|
||||||
"disk.0.interface": "scsi0",
|
"disk.0.interface": "scsi0",
|
||||||
"disk.0.iothread": "true",
|
"disk.0.iothread": "true",
|
||||||
"disk.0.path_in_datastore": `vm-\d+-disk-\d+`,
|
"disk.0.path_in_datastore": `base-\d+-disk-\d+`,
|
||||||
"disk.0.size": "8",
|
"disk.0.size": "8",
|
||||||
"disk.0.ssd": "true",
|
"disk.0.ssd": "true",
|
||||||
}),
|
}),
|
||||||
|
@ -9,6 +9,7 @@
|
|||||||
package test
|
package test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"regexp"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/hashicorp/terraform-plugin-testing/helper/resource"
|
"github.com/hashicorp/terraform-plugin-testing/helper/resource"
|
||||||
@ -69,6 +70,16 @@ func TestAccResourceVM(t *testing.T) {
|
|||||||
}),
|
}),
|
||||||
),
|
),
|
||||||
}}},
|
}}},
|
||||||
|
{
|
||||||
|
"empty node_name", []resource.TestStep{{
|
||||||
|
Config: te.RenderConfig(`
|
||||||
|
resource "proxmox_virtual_environment_vm" "test_empty_node_name" {
|
||||||
|
node_name = ""
|
||||||
|
started = false
|
||||||
|
}`),
|
||||||
|
ExpectError: regexp.MustCompile(`expected "node_name" to not be an empty string, got `),
|
||||||
|
}},
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"protection", []resource.TestStep{{
|
"protection", []resource.TestStep{{
|
||||||
Config: te.RenderConfig(`
|
Config: te.RenderConfig(`
|
||||||
|
@ -1093,9 +1093,10 @@ func VM() *schema.Resource {
|
|||||||
Default: dvName,
|
Default: dvName,
|
||||||
},
|
},
|
||||||
mkNodeName: {
|
mkNodeName: {
|
||||||
Type: schema.TypeString,
|
Type: schema.TypeString,
|
||||||
Description: "The node name",
|
Description: "The node name",
|
||||||
Required: true,
|
Required: true,
|
||||||
|
ValidateFunc: validation.StringIsNotEmpty,
|
||||||
},
|
},
|
||||||
mkNUMA: {
|
mkNUMA: {
|
||||||
Type: schema.TypeList,
|
Type: schema.TypeList,
|
||||||
|
Loading…
Reference in New Issue
Block a user