fix 1 test
diff --git a/cloudstack/resource_cloudstack_network_acl_rule_test.go b/cloudstack/resource_cloudstack_network_acl_rule_test.go
index d415dcc..4b30c51 100644
--- a/cloudstack/resource_cloudstack_network_acl_rule_test.go
+++ b/cloudstack/resource_cloudstack_network_acl_rule_test.go
@@ -42,40 +42,37 @@
testAccCheckCloudStackNetworkACLRulesExist("cloudstack_network_acl.foo"),
resource.TestCheckResourceAttr(
"cloudstack_network_acl_rule.foo", "rule.#", "3"),
- resource.TestCheckResourceAttr(
- "cloudstack_network_acl_rule.foo", "rule.0.action", "allow"),
- resource.TestCheckResourceAttr(
- "cloudstack_network_acl_rule.foo", "rule.0.cidr_list.0", "172.16.100.0/24"),
- resource.TestCheckResourceAttr(
- "cloudstack_network_acl_rule.foo", "rule.0.protocol", "tcp"),
- resource.TestCheckResourceAttr(
- "cloudstack_network_acl_rule.foo", "rule.0.port", "443"),
- resource.TestCheckResourceAttr(
- "cloudstack_network_acl_rule.foo", "rule.0.port", "80"),
- resource.TestCheckResourceAttr(
- "cloudstack_network_acl_rule.foo", "rule.0.traffic_type", "ingress"),
- resource.TestCheckResourceAttr(
- "cloudstack_network_acl_rule.foo", "rule.0.description", "Allow HTTP and HTTPS"),
- resource.TestCheckResourceAttr(
- "cloudstack_network_acl_rule.foo", "rule.1.rule_number", "20"),
- resource.TestCheckResourceAttr(
- "cloudstack_network_acl_rule.foo", "rule.1.action", "allow"),
- resource.TestCheckResourceAttr(
- "cloudstack_network_acl_rule.foo", "rule.1.cidr_list.#", "1"),
- resource.TestCheckResourceAttr(
- "cloudstack_network_acl_rule.foo", "rule.1.cidr_list.0", "172.18.100.0/24"),
- resource.TestCheckResourceAttr(
- "cloudstack_network_acl_rule.foo", "rule.1.icmp_code", "-1"),
- resource.TestCheckResourceAttr(
- "cloudstack_network_acl_rule.foo", "rule.1.icmp_type", "-1"),
- resource.TestCheckResourceAttr(
- "cloudstack_network_acl_rule.foo", "rule.1.traffic_type", "ingress"),
- resource.TestCheckResourceAttr(
- "cloudstack_network_acl_rule.foo", "rule.1.description", "Allow ICMP traffic"),
- resource.TestCheckResourceAttr(
- "cloudstack_network_acl_rule.foo", "rule.2.rule_number", "10"),
- resource.TestCheckResourceAttr(
- "cloudstack_network_acl_rule.foo", "rule.2.description", "Allow all traffic"),
+ resource.TestCheckTypeSetElemNestedAttrs(
+ "cloudstack_network_acl_rule.foo", "rule.*", map[string]string{
+ "action": "allow",
+ "cidr_list.0": "172.16.100.0/24",
+ "protocol": "tcp",
+ "port": "80",
+ "traffic_type": "ingress",
+ "description": "Allow HTTP and HTTPS",
+ },
+ ),
+ resource.TestCheckTypeSetElemNestedAttrs(
+ "cloudstack_network_acl_rule.foo", "rule.*", map[string]string{
+ "rule_number": "20",
+ "action": "allow",
+ "cidr_list.0": "172.18.100.0/24",
+ "icmp_code": "-1",
+ "icmp_type": "-1",
+ "traffic_type": "ingress",
+ "description": "Allow ICMP traffic",
+ },
+ ),
+ resource.TestCheckTypeSetElemNestedAttrs(
+ "cloudstack_network_acl_rule.foo", "rule.*", map[string]string{
+ "rule_number": "10",
+ "action": "allow",
+ "cidr_list.0": "172.18.100.0/24",
+ "protocol": "all",
+ "traffic_type": "ingress",
+ "description": "Allow all traffic",
+ },
+ ),
),
},
},
@@ -91,35 +88,41 @@
{
Config: testAccCloudStackNetworkACLRule_basic,
Check: resource.ComposeTestCheckFunc(
+
testAccCheckCloudStackNetworkACLRulesExist("cloudstack_network_acl.foo"),
resource.TestCheckResourceAttr(
"cloudstack_network_acl_rule.foo", "rule.#", "3"),
- resource.TestCheckResourceAttr(
- "cloudstack_network_acl_rule.foo", "rule.0.action", "allow"),
- resource.TestCheckResourceAttr(
- "cloudstack_network_acl_rule.foo", "rule.0.cidr_list.0", "172.18.100.0/24"),
- resource.TestCheckResourceAttr(
- "cloudstack_network_acl_rule.foo", "rule.0.protocol", "tcp"),
- resource.TestCheckResourceAttr(
- "cloudstack_network_acl_rule.foo", "rule.0.port", "443"),
- resource.TestCheckResourceAttr(
- "cloudstack_network_acl_rule.foo", "rule.0.port", "80"),
- resource.TestCheckResourceAttr(
- "cloudstack_network_acl_rule.foo", "rule.0.traffic_type", "ingress"),
- resource.TestCheckResourceAttr(
- "cloudstack_network_acl_rule.foo", "rule.1.rule_number", "20"),
- resource.TestCheckResourceAttr(
- "cloudstack_network_acl_rule.foo", "rule.1.action", "allow"),
- resource.TestCheckResourceAttr(
- "cloudstack_network_acl_rule.foo", "rule.1.cidr_list.#", "1"),
- resource.TestCheckResourceAttr(
- "cloudstack_network_acl_rule.foo", "rule.1.cidr_list.0", "172.16.100.0/24"),
- resource.TestCheckResourceAttr(
- "cloudstack_network_acl_rule.foo", "rule.1.icmp_code", "-1"),
- resource.TestCheckResourceAttr(
- "cloudstack_network_acl_rule.foo", "rule.1.icmp_type", "-1"),
- resource.TestCheckResourceAttr(
- "cloudstack_network_acl_rule.foo", "rule.1.traffic_type", "ingress"),
+ resource.TestCheckTypeSetElemNestedAttrs(
+ "cloudstack_network_acl_rule.foo", "rule.*", map[string]string{
+ "action": "allow",
+ "cidr_list.0": "172.16.100.0/24",
+ "protocol": "tcp",
+ "port": "80",
+ "traffic_type": "ingress",
+ "description": "Allow HTTP and HTTPS",
+ },
+ ),
+ resource.TestCheckTypeSetElemNestedAttrs(
+ "cloudstack_network_acl_rule.foo", "rule.*", map[string]string{
+ "rule_number": "20",
+ "action": "allow",
+ "cidr_list.0": "172.18.100.0/24",
+ "icmp_code": "-1",
+ "icmp_type": "-1",
+ "traffic_type": "ingress",
+ "description": "Allow ICMP traffic",
+ },
+ ),
+ resource.TestCheckTypeSetElemNestedAttrs(
+ "cloudstack_network_acl_rule.foo", "rule.*", map[string]string{
+ "rule_number": "10",
+ "action": "allow",
+ "cidr_list.0": "172.18.100.0/24",
+ "protocol": "all",
+ "traffic_type": "ingress",
+ "description": "Allow all traffic",
+ },
+ ),
),
},
@@ -129,44 +132,45 @@
testAccCheckCloudStackNetworkACLRulesExist("cloudstack_network_acl.foo"),
resource.TestCheckResourceAttr(
"cloudstack_network_acl_rule.foo", "rule.#", "4"),
- resource.TestCheckResourceAttr(
- "cloudstack_network_acl_rule.foo", "rule.1.action", "deny"),
- resource.TestCheckResourceAttr(
- "cloudstack_network_acl_rule.foo", "rule.1.cidr_list.0", "10.0.0.0/24"),
- resource.TestCheckResourceAttr(
- "cloudstack_network_acl_rule.foo", "rule.1.protocol", "tcp"),
- resource.TestCheckResourceAttr(
- "cloudstack_network_acl_rule.foo", "rule.1.port", "1000-2000"),
- resource.TestCheckResourceAttr(
- "cloudstack_network_acl_rule.foo", "rule.1.port", "80"),
- resource.TestCheckResourceAttr(
- "cloudstack_network_acl_rule.foo", "rule.1.traffic_type", "egress"),
- resource.TestCheckResourceAttr(
- "cloudstack_network_acl_rule.foo", "rule.2.action", "deny"),
- resource.TestCheckResourceAttr(
- "cloudstack_network_acl_rule.foo", "rule.2.cidr_list.#", "2"),
- resource.TestCheckResourceAttr(
- "cloudstack_network_acl_rule.foo", "rule.2.cidr_list.1", "172.18.101.0/24"),
- resource.TestCheckResourceAttr(
- "cloudstack_network_acl_rule.foo", "rule.2.cidr_list.0", "172.18.100.0/24"),
- resource.TestCheckResourceAttr(
- "cloudstack_network_acl_rule.foo", "rule.2.icmp_code", "-1"),
- resource.TestCheckResourceAttr(
- "cloudstack_network_acl_rule.foo", "rule.2.icmp_type", "-1"),
- resource.TestCheckResourceAttr(
- "cloudstack_network_acl_rule.foo", "rule.2.traffic_type", "ingress"),
- resource.TestCheckResourceAttr(
- "cloudstack_network_acl_rule.foo", "rule.0.action", "allow"),
- resource.TestCheckResourceAttr(
- "cloudstack_network_acl_rule.foo", "rule.0.cidr_list.0", "172.18.100.0/24"),
- resource.TestCheckResourceAttr(
- "cloudstack_network_acl_rule.foo", "rule.0.protocol", "tcp"),
- resource.TestCheckResourceAttr(
- "cloudstack_network_acl_rule.foo", "rule.0.port", "443"),
- resource.TestCheckResourceAttr(
- "cloudstack_network_acl_rule.foo", "rule.0.port", "80"),
- resource.TestCheckResourceAttr(
- "cloudstack_network_acl_rule.foo", "rule.0.traffic_type", "ingress"),
+ resource.TestCheckTypeSetElemNestedAttrs(
+ "cloudstack_network_acl_rule.foo", "rule.*", map[string]string{
+ "action": "deny",
+ "cidr_list.0": "10.0.0.0/24",
+ "protocol": "tcp",
+ "port": "1000-2000",
+ "traffic_type": "egress",
+ "description": "Deny specific TCP ports",
+ },
+ ),
+ resource.TestCheckTypeSetElemNestedAttrs(
+ "cloudstack_network_acl_rule.foo", "rule.*", map[string]string{
+ "action": "allow",
+ "cidr_list.0": "172.18.100.0/24",
+ "protocol": "tcp",
+ "port": "80",
+ "traffic_type": "ingress",
+ },
+ ),
+ resource.TestCheckTypeSetElemNestedAttrs(
+ "cloudstack_network_acl_rule.foo", "rule.*", map[string]string{
+ "action": "deny",
+ "cidr_list.0": "172.18.100.0/24",
+ "cidr_list.1": "172.18.101.0/24",
+ "protocol": "icmp",
+ "icmp_code": "-1",
+ "icmp_type": "-1",
+ "traffic_type": "ingress",
+ "description": "Deny ICMP traffic",
+ },
+ ),
+ resource.TestCheckTypeSetElemNestedAttrs(
+ "cloudstack_network_acl_rule.foo", "rule.*", map[string]string{
+ "action": "deny",
+ "cidr_list.0": "172.18.100.0/24",
+ "protocol": "all",
+ "traffic_type": "ingress",
+ },
+ ),
),
},
},