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",
+						},
+					),
 				),
 			},
 		},