0
0
mirror of https://github.com/bpg/terraform-provider-proxmox.git synced 2025-06-30 02:31:10 +00:00

fix(firewall): remove strict validation for rule.iface attribute (#1199)

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
This commit is contained in:
Pavel Boldyrev 2024-04-09 21:46:53 -04:00 committed by GitHub
parent b4174a7c82
commit ae88cf603d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 60 additions and 3 deletions

View File

@ -0,0 +1,58 @@
/*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/
package tests
import (
"testing"
"github.com/hashicorp/terraform-plugin-testing/helper/resource"
)
func TestAccResourceClusterFirewall(t *testing.T) {
te := initTestEnvironment(t)
tests := []struct {
name string
steps []resource.TestStep
}{
{"rules1", []resource.TestStep{{
Config: te.renderConfig(`
resource "proxmox_virtual_environment_firewall_rules" "rules1" {
rule {
type = "in"
action = "ACCEPT"
iface = "vmbr0"
dport = "8006"
proto = "tcp"
comment = "PVE Admin Interface"
}
}`),
Check: resource.ComposeTestCheckFunc(
testResourceAttributes("proxmox_virtual_environment_firewall_rules.rules1", map[string]string{
"rule.0.type": "in",
"rule.0.action": "ACCEPT",
"rule.0.iface": "vmbr0",
"rule.0.dport": "8006",
"rule.0.proto": "tcp",
"rule.0.comment": "PVE Admin Interface",
}),
testNoResourceAttributesSet("proxmox_virtual_environment_firewall_rules.rules1", []string{
"node_name",
}),
),
}}},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
resource.ParallelTest(t, resource.TestCase{
ProtoV6ProviderFactories: te.accProviders,
Steps: tt.steps,
})
})
}
}

View File

@ -115,9 +115,8 @@ func Rules() *schema.Resource {
Type: schema.TypeString,
Description: "Network interface name. You have to use network configuration key names for VMs" +
" and containers ('net\\d+'). Host related rules can use arbitrary strings.",
Optional: true,
Default: dvRuleIface,
ValidateDiagFunc: validators.FirewallIFace(),
Optional: true,
Default: dvRuleIface,
},
mkRuleLog: {
Type: schema.TypeString,