diff --git a/builtin/providers/openstack/resource_openstack_compute_secgroup_v2.go b/builtin/providers/openstack/resource_openstack_compute_secgroup_v2.go index f83ce84c7e..f1d9ae7141 100644 --- a/builtin/providers/openstack/resource_openstack_compute_secgroup_v2.go +++ b/builtin/providers/openstack/resource_openstack_compute_secgroup_v2.go @@ -34,7 +34,7 @@ func resourceComputeSecGroupV2() *schema.Resource { Required: true, ForceNew: false, }, - "rules": &schema.Schema{ + "rule": &schema.Schema{ Type: schema.TypeSet, Optional: true, Elem: &schema.Resource{ @@ -66,7 +66,7 @@ func resourceComputeSecGroupV2() *schema.Resource { }, }, }, - Set: resourceSecGroupRuleHash, + Set: resourceSecGroupRuleV2Hash, }, }, } @@ -117,7 +117,7 @@ func resourceComputeSecGroupV2Read(d *schema.ResourceData, meta interface{}) err d.Set("region", d.Get("region").(string)) d.Set("name", sg.Name) d.Set("description", sg.Description) - d.Set("rules", sg.Rules) + d.Set("rule", sg.Rules) return nil } @@ -141,8 +141,8 @@ func resourceComputeSecGroupV2Update(d *schema.ResourceData, meta interface{}) e return fmt.Errorf("Error updating OpenStack security group (%s): %s", d.Id(), err) } - if d.HasChange("rules") { - oldSGRaw, newSGRaw := d.GetChange("rules") + if d.HasChange("rule") { + oldSGRaw, newSGRaw := d.GetChange("rule") oldSGRSet, newSGRSet := oldSGRaw.(*schema.Set), newSGRaw.(*schema.Set) secgrouprulesToAdd := newSGRSet.Difference(oldSGRSet) secgrouprulesToRemove := oldSGRSet.Difference(newSGRSet) @@ -188,7 +188,7 @@ func resourceComputeSecGroupV2Delete(d *schema.ResourceData, meta interface{}) e return nil } -func resourceSecGroupRuleHash(v interface{}) int { +func resourceSecGroupRuleV2Hash(v interface{}) int { var buf bytes.Buffer m := v.(map[string]interface{}) buf.WriteString(fmt.Sprintf("%d-", m["from_port"].(int))) @@ -201,7 +201,7 @@ func resourceSecGroupRuleHash(v interface{}) int { } func resourceSecGroupRulesV2(d *schema.ResourceData) []secgroups.CreateRuleOpts { - rawRules := (d.Get("rules")).(*schema.Set) + rawRules := (d.Get("rule")).(*schema.Set) createRuleOptsList := make([]secgroups.CreateRuleOpts, rawRules.Len()) for i, raw := range rawRules.List() { rawMap := raw.(map[string]interface{}) @@ -219,7 +219,7 @@ func resourceSecGroupRulesV2(d *schema.ResourceData) []secgroups.CreateRuleOpts func resourceSecGroupRuleV2(d *schema.ResourceData, raw interface{}) secgroups.CreateRuleOpts { rawMap := raw.(map[string]interface{}) - createRuleOpts := secgroups.CreateRuleOpts{ + return secgroups.CreateRuleOpts{ ParentGroupID: d.Id(), FromPort: rawMap["from_port"].(int), ToPort: rawMap["to_port"].(int), @@ -227,6 +227,4 @@ func resourceSecGroupRuleV2(d *schema.ResourceData, raw interface{}) secgroups.C CIDR: rawMap["cidr"].(string), FromGroupID: rawMap["from_group_id"].(string), } - - return createRuleOpts }