diff --git a/builtin/providers/cloudstack/resource_cloudstack_egress_firewall.go b/builtin/providers/cloudstack/resource_cloudstack_egress_firewall.go index d5b9d80bd..9f672c7a2 100644 --- a/builtin/providers/cloudstack/resource_cloudstack_egress_firewall.go +++ b/builtin/providers/cloudstack/resource_cloudstack_egress_firewall.go @@ -75,7 +75,7 @@ func resourceCloudStackEgressFirewall() *schema.Resource { }, }, }, - Set: resourceCloudStackFirewallRuleHash, + Set: resourceCloudStackEgressFirewallRuleHash, }, }, } @@ -98,7 +98,7 @@ func resourceCloudStackEgressFirewallCreate(d *schema.ResourceData, meta interfa // Create an empty schema.Set to hold all rules rules := &schema.Set{ - F: resourceCloudStackFirewallRuleHash, + F: resourceCloudStackEgressFirewallRuleHash, } for _, rule := range rs.List() { @@ -200,7 +200,7 @@ func resourceCloudStackEgressFirewallRead(d *schema.ResourceData, meta interface // Create an empty schema.Set to hold all rules rules := &schema.Set{ - F: resourceCloudStackFirewallRuleHash, + F: resourceCloudStackEgressFirewallRuleHash, } if d.Get("managed").(bool) { @@ -343,7 +343,7 @@ func resourceCloudStackEgressFirewallUpdate(d *schema.ResourceData, meta interfa // Now first loop through all the old rules and delete any obsolete ones for _, rule := range ors.List() { // Delete the rule as it no longer exists in the config - err := resourceCloudStackFirewallDeleteRule(d, meta, rule.(map[string]interface{})) + err := resourceCloudStackEgressFirewallDeleteRule(d, meta, rule.(map[string]interface{})) if err != nil { return err } @@ -356,7 +356,7 @@ func resourceCloudStackEgressFirewallUpdate(d *schema.ResourceData, meta interfa // Then loop through al the currently configured rules and create the new ones for _, rule := range nrs.List() { // When succesfully deleted, re-create it again if it still exists - err := resourceCloudStackFirewallCreateRule( + err := resourceCloudStackEgressFirewallCreateRule( d, meta, rule.(map[string]interface{})) // We need to update this first to preserve the correct state @@ -377,7 +377,7 @@ func resourceCloudStackEgressFirewallDelete(d *schema.ResourceData, meta interfa if rs := d.Get("rule").(*schema.Set); rs.Len() > 0 { for _, rule := range rs.List() { // Delete a single rule - err := resourceCloudStackFirewallDeleteRule(d, meta, rule.(map[string]interface{})) + err := resourceCloudStackEgressFirewallDeleteRule(d, meta, rule.(map[string]interface{})) // We need to update this first to preserve the correct state d.Set("rule", rs) diff --git a/builtin/providers/cloudstack/resource_cloudstack_egress_firewall_test.go b/builtin/providers/cloudstack/resource_cloudstack_egress_firewall_test.go index 8e70901d9..9211ba34e 100644 --- a/builtin/providers/cloudstack/resource_cloudstack_egress_firewall_test.go +++ b/builtin/providers/cloudstack/resource_cloudstack_egress_firewall_test.go @@ -23,15 +23,17 @@ func TestAccCloudStackEgressFirewall_basic(t *testing.T) { resource.TestCheckResourceAttr( "cloudstack_egress_firewall.foo", "network", CLOUDSTACK_NETWORK_1), resource.TestCheckResourceAttr( - "cloudstack_egress_firewall.foo", "rule.1702320581.source_cidr", "10.0.0.0/24"), + "cloudstack_egress_firewall.foo", + "rule.411689741.source_cidr", + CLOUDSTACK_NETWORK_1_IPADDRESS+"/32"), resource.TestCheckResourceAttr( - "cloudstack_egress_firewall.foo", "rule.1702320581.protocol", "tcp"), + "cloudstack_egress_firewall.foo", "rule.411689741.protocol", "tcp"), resource.TestCheckResourceAttr( - "cloudstack_egress_firewall.foo", "rule.1702320581.ports.#", "2"), + "cloudstack_egress_firewall.foo", "rule.411689741.ports.#", "2"), resource.TestCheckResourceAttr( - "cloudstack_egress_firewall.foo", "rule.1702320581.ports.1209010669", "1000-2000"), + "cloudstack_egress_firewall.foo", "rule.411689741.ports.1209010669", "1000-2000"), resource.TestCheckResourceAttr( - "cloudstack_egress_firewall.foo", "rule.1702320581.ports.1889509032", "80"), + "cloudstack_egress_firewall.foo", "rule.411689741.ports.1889509032", "80"), ), }, }, @@ -49,19 +51,21 @@ func TestAccCloudStackEgressFirewall_update(t *testing.T) { Check: resource.ComposeTestCheckFunc( testAccCheckCloudStackEgressFirewallRulesExist("cloudstack_egress_firewall.foo"), resource.TestCheckResourceAttr( - "cloudstack_egress_firewall.foo", "ipaddress", CLOUDSTACK_NETWORK_1), + "cloudstack_egress_firewall.foo", "network", CLOUDSTACK_NETWORK_1), resource.TestCheckResourceAttr( "cloudstack_egress_firewall.foo", "rule.#", "1"), resource.TestCheckResourceAttr( - "cloudstack_egress_firewall.foo", "rule.1702320581.source_cidr", "10.0.0.0/24"), + "cloudstack_egress_firewall.foo", + "rule.411689741.source_cidr", + CLOUDSTACK_NETWORK_1_IPADDRESS+"/32"), resource.TestCheckResourceAttr( - "cloudstack_egress_firewall.foo", "rule.1702320581.protocol", "tcp"), + "cloudstack_egress_firewall.foo", "rule.411689741.protocol", "tcp"), resource.TestCheckResourceAttr( - "cloudstack_egress_firewall.foo", "rule.1702320581.ports.#", "2"), + "cloudstack_egress_firewall.foo", "rule.411689741.ports.#", "2"), resource.TestCheckResourceAttr( - "cloudstack_egress_firewall.foo", "rule.1702320581.ports.1209010669", "1000-2000"), + "cloudstack_egress_firewall.foo", "rule.411689741.ports.1209010669", "1000-2000"), resource.TestCheckResourceAttr( - "cloudstack_egress_firewall.foo", "rule.1702320581.ports.1889509032", "80"), + "cloudstack_egress_firewall.foo", "rule.411689741.ports.1889509032", "80"), ), }, @@ -70,29 +74,31 @@ func TestAccCloudStackEgressFirewall_update(t *testing.T) { Check: resource.ComposeTestCheckFunc( testAccCheckCloudStackEgressFirewallRulesExist("cloudstack_egress_firewall.foo"), resource.TestCheckResourceAttr( - "cloudstack_egress_firewall.foo", "ipaddress", CLOUDSTACK_NETWORK_1), + "cloudstack_egress_firewall.foo", "network", CLOUDSTACK_NETWORK_1), resource.TestCheckResourceAttr( "cloudstack_egress_firewall.foo", "rule.#", "2"), resource.TestCheckResourceAttr( - "cloudstack_egress_firewall.foo", "rule.1702320581.source_cidr", "10.0.0.0/24"), + "cloudstack_egress_firewall.foo", + "rule.411689741.source_cidr", + CLOUDSTACK_NETWORK_1_IPADDRESS+"/32"), resource.TestCheckResourceAttr( - "cloudstack_egress_firewall.foo", "rule.1702320581.protocol", "tcp"), + "cloudstack_egress_firewall.foo", "rule.411689741.protocol", "tcp"), resource.TestCheckResourceAttr( - "cloudstack_egress_firewall.foo", "rule.1702320581.ports.#", "2"), + "cloudstack_egress_firewall.foo", "rule.411689741.ports.#", "2"), resource.TestCheckResourceAttr( - "cloudstack_egress_firewall.foo", "rule.1702320581.ports.1209010669", "1000-2000"), + "cloudstack_egress_firewall.foo", "rule.411689741.ports.1209010669", "1000-2000"), resource.TestCheckResourceAttr( - "cloudstack_egress_firewall.foo", "rule.1702320581.ports.1889509032", "80"), + "cloudstack_egress_firewall.foo", "rule.411689741.ports.1889509032", "80"), resource.TestCheckResourceAttr( - "cloudstack_egress_firewall.foo", "rule.3779782959.source_cidr", "172.16.100.0/24"), + "cloudstack_egress_firewall.foo", + "rule.845479598.source_cidr", + CLOUDSTACK_NETWORK_1_IPADDRESS+"/32"), resource.TestCheckResourceAttr( - "cloudstack_egress_firewall.foo", "rule.3779782959.protocol", "tcp"), + "cloudstack_egress_firewall.foo", "rule.845479598.protocol", "tcp"), resource.TestCheckResourceAttr( - "cloudstack_egress_firewall.foo", "rule.3779782959.ports.#", "2"), + "cloudstack_egress_firewall.foo", "rule.845479598.ports.#", "1"), resource.TestCheckResourceAttr( - "cloudstack_egress_firewall.foo", "rule.3779782959.ports.1889509032", "80"), - resource.TestCheckResourceAttr( - "cloudstack_egress_firewall.foo", "rule.3779782959.ports.3638101695", "443"), + "cloudstack_egress_firewall.foo", "rule.845479598.ports.3638101695", "443"), ), }, }, @@ -162,7 +168,7 @@ func testAccCheckCloudStackEgressFirewallDestroy(s *terraform.State) error { var testAccCloudStackEgressFirewall_basic = fmt.Sprintf(` resource "cloudstack_egress_firewall" "foo" { - ipaddress = "%s" + network = "%s" rule { source_cidr = "%s/32" @@ -175,13 +181,20 @@ resource "cloudstack_egress_firewall" "foo" { var testAccCloudStackEgressFirewall_update = fmt.Sprintf(` resource "cloudstack_egress_firewall" "foo" { - ipaddress = "%s" + network = "%s" rule { source_cidr = "%s/32" protocol = "tcp" - ports = ["80", "443", 1000-2000"] + ports = ["80", "1000-2000"] + } + + rule { + source_cidr = "%s/32" + protocol = "tcp" + ports = ["443"] } }`, CLOUDSTACK_NETWORK_1, + CLOUDSTACK_NETWORK_1_IPADDRESS, CLOUDSTACK_NETWORK_1_IPADDRESS) diff --git a/builtin/providers/cloudstack/resource_cloudstack_network.go b/builtin/providers/cloudstack/resource_cloudstack_network.go index 161378fe8..51dc7d9e0 100644 --- a/builtin/providers/cloudstack/resource_cloudstack_network.go +++ b/builtin/providers/cloudstack/resource_cloudstack_network.go @@ -79,13 +79,13 @@ func resourceCloudStackNetworkCreate(d *schema.ResourceData, meta interface{}) e } // Compute/set the display text - displaytext := d.Get("display_text").(string) - if displaytext == "" { + displaytext, ok := d.GetOk("display_text") + if !ok { displaytext = name } // Create a new parameter struct - p := cs.Network.NewCreateNetworkParams(displaytext, name, networkofferingid, zoneid) + p := cs.Network.NewCreateNetworkParams(displaytext.(string), name, networkofferingid, zoneid) // Get the network details from the CIDR m, err := parseCIDR(d.Get("cidr").(string)) @@ -147,7 +147,7 @@ func resourceCloudStackNetworkRead(d *schema.ResourceData, meta interface{}) err } d.Set("name", n.Name) - d.Set("display_test", n.Displaytext) + d.Set("display_text", n.Displaytext) d.Set("cidr", n.Cidr) d.Set("network_offering", n.Networkofferingname) d.Set("zone", n.Zonename) diff --git a/builtin/providers/cloudstack/resource_cloudstack_network_acl_rule_test.go b/builtin/providers/cloudstack/resource_cloudstack_network_acl_rule_test.go index 1a577ac7f..6e8f0d207 100644 --- a/builtin/providers/cloudstack/resource_cloudstack_network_acl_rule_test.go +++ b/builtin/providers/cloudstack/resource_cloudstack_network_acl_rule_test.go @@ -104,7 +104,7 @@ func TestAccCloudStackNetworkACLRule_update(t *testing.T) { resource.TestCheckResourceAttr( "cloudstack_network_acl_rule.foo", "rule.4267872693.ports.1889509032", "80"), resource.TestCheckResourceAttr( - "cloudstack_network_acl_rule.foo", "rule.4267872693.traffic_type", "engress"), + "cloudstack_network_acl_rule.foo", "rule.4267872693.traffic_type", "egress"), ), }, }, diff --git a/builtin/providers/cloudstack/resource_cloudstack_vpc.go b/builtin/providers/cloudstack/resource_cloudstack_vpc.go index 46f64827c..5b884d031 100644 --- a/builtin/providers/cloudstack/resource_cloudstack_vpc.go +++ b/builtin/providers/cloudstack/resource_cloudstack_vpc.go @@ -69,7 +69,7 @@ func resourceCloudStackVPCCreate(d *schema.ResourceData, meta interface{}) error // Set the display text displaytext, ok := d.GetOk("display_text") if !ok { - displaytext = d.Get("name") + displaytext = name } // Create a new parameter struct @@ -103,7 +103,7 @@ func resourceCloudStackVPCRead(d *schema.ResourceData, meta interface{}) error { } d.Set("name", v.Name) - d.Set("display_test", v.Displaytext) + d.Set("display_text", v.Displaytext) d.Set("cidr", v.Cidr) d.Set("zone", v.Zonename)